/* Contract Conflict Checker · engineering drawing-sheet style. Logical properties, so Arabic (RTL) mirrors cleanly. */
:root{
  --paper:#F2EFE7; --sheet:#FFFFFF; --sheet2:#F8F6F1; --ink:#0D1B34; --ink2:#34425A; --muted:#5F6B80;
  --line:#C5CCD8; --line2:#E2E6EC; --grid:rgba(13,27,52,.055);
  --navy:#0D1B34; --onNavy:#EEF2F8; --amber:#F2A23A; --amberInk:#8A4E00; --amberBg:#FDF0DA;
  --ok:#146C43; --okBg:#E0F2E8; --warn:#8A5600; --warnBg:#FCEED6; --bad:#B42318; --badBg:#FDE6E3;
  --info:#1D4F91; --infoBg:#E5EDF9; --focus:#1F6FEB;
  --f-head:'Space Grotesk','Public Sans','IBM Plex Sans Arabic',Arial,sans-serif;
  --f-body:'Public Sans','IBM Plex Sans Arabic',Arial,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#09121F; --sheet:#0F1B2F; --sheet2:#0C1728; --ink:#ECF0F6; --ink2:#C1CBDA; --muted:#8E9AAE;
    --line:#2C3C59; --line2:#1D2B44; --grid:rgba(236,240,246,.045);
    --navy:#050E1C; --onNavy:#EEF2F8; --amberInk:#F5B867; --amberBg:rgba(242,162,58,.13);
    --ok:#5CCB93; --okBg:rgba(92,203,147,.13); --warn:#F1BC5E; --warnBg:rgba(241,188,94,.12);
    --bad:#FF8B80; --badBg:rgba(255,139,128,.12); --info:#8FB7F3; --infoBg:rgba(143,183,243,.12); --focus:#7FB0FF;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#09121F; --sheet:#0F1B2F; --sheet2:#0C1728; --ink:#ECF0F6; --ink2:#C1CBDA; --muted:#8E9AAE;
  --line:#2C3C59; --line2:#1D2B44; --grid:rgba(236,240,246,.045);
  --navy:#050E1C; --onNavy:#EEF2F8; --amberInk:#F5B867; --amberBg:rgba(242,162,58,.13);
  --ok:#5CCB93; --okBg:rgba(92,203,147,.13); --warn:#F1BC5E; --warnBg:rgba(241,188,94,.12);
  --bad:#FF8B80; --badBg:rgba(255,139,128,.12); --info:#8FB7F3; --infoBg:rgba(143,183,243,.12); --focus:#7FB0FF;
  color-scheme:dark;
}
html[dir="rtl"]{
  --f-head:'IBM Plex Sans Arabic','Space Grotesk',Arial,sans-serif;
  --f-body:'IBM Plex Sans Arabic','Public Sans',Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background-color:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:24px 24px}
html[dir="rtl"] body{line-height:1.7}
.wrap{max-width:1320px;margin:0 auto;padding-top:20px;padding-bottom:40px;
  padding-inline:max(16px,env(safe-area-inset-left,0px))}
h1,h2,h3,h4{font-family:var(--f-head);margin:0;line-height:1.2;letter-spacing:-.01em}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3,html[dir="rtl"] h4{letter-spacing:0;line-height:1.35}
p{margin:0}
.mono{font-family:var(--f-mono)}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
html[dir="rtl"] .eyebrow{font-family:var(--f-body);letter-spacing:0;font-size:13px}
a{color:var(--info)}
button,select,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.skip{position:absolute;inset-inline-start:8px;top:-60px;background:var(--navy);color:var(--onNavy);padding:8px 12px;z-index:9}
.skip:focus{top:8px}
.ltr{direction:ltr;unicode-bidi:isolate}
bdi{unicode-bidi:isolate}

/* ---------- title block ---------- */
.tb{display:grid;grid-template-columns:auto 1fr auto auto;border:1.5px solid var(--ink);background:var(--sheet)}
.tb-mark{display:flex;align-items:center;justify-content:center;width:92px;background:var(--navy);color:var(--amber)}
.tb-title{padding:16px 20px;border-inline-start:1.5px solid var(--ink);min-width:0}
.tb-title h1{font-size:30px;margin-top:4px}
.tb-title p{margin-top:6px;color:var(--ink2);max-width:62ch}
.tb-cells{display:grid;grid-template-columns:repeat(2,minmax(110px,auto));margin:0;border-inline-start:1.5px solid var(--ink);align-content:start}
.tb-cells div{padding:8px 14px;border-bottom:1px solid var(--line);border-inline-start:1px solid var(--line)}
.tb-cells div:nth-child(odd){border-inline-start:0}
.tb-cells dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
html[dir="rtl"] .tb-cells dt{font-family:var(--f-body);letter-spacing:0;font-size:12px}
.tb-cells dd{margin:2px 0 0;font-weight:600;font-size:14px;max-width:340px}
.tb-cells .wide{grid-column:span 2;border-inline-start:0}
.lang{border:0;border-inline-start:1.5px solid var(--ink);background:var(--sheet2);color:var(--ink);font-weight:700;padding:0 18px;cursor:pointer;min-width:64px;font-size:15px}
.lang:hover{background:var(--amberBg)}
@media (max-width:980px){
  .tb{grid-template-columns:64px 1fr auto}
  .tb-mark{width:64px}
  .tb-cells{grid-column:1 / -1;border-inline-start:0;border-top:1.5px solid var(--ink);grid-row:2}
  .tb-cells dd{max-width:none}
  .lang{grid-column:3;grid-row:1}
  .tb-title h1{font-size:23px}
  .tb-title p{font-size:15px}
}

/* ---------- tabs ---------- */
.tabs{display:flex;margin-top:14px;border:1.5px solid var(--ink);background:var(--sheet);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:1 0 auto;display:flex;align-items:center;gap:10px;padding:12px 18px;text-decoration:none;color:var(--ink2);
  font-weight:600;border-inline-end:1px solid var(--line);white-space:nowrap}
.tabs a:last-child{border-inline-end:0}
.tabs a .n{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.tabs a[aria-current="page"]{background:var(--navy);color:var(--onNavy)}
.tabs a[aria-current="page"] .n{color:var(--amber)}
.tabs a:hover:not([aria-current]){background:var(--sheet2)}

/* ---------- sheets ---------- */
main{display:block;margin-top:14px;outline:none}
.sheet{border:1.5px solid var(--ink);background:var(--sheet);position:relative;min-width:0}
.sheet+.sheet,.sheet+.grid2,.grid2+.sheet,.grid2+.grid2{margin-top:14px}
.sheet-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;justify-content:space-between;padding:10px 16px;border-bottom:1.5px solid var(--ink);background:var(--sheet2)}
.sheet-h h2{font-size:19px}
.sheet-b{padding:16px}
.sheet-foot{display:flex;flex-wrap:wrap;border-top:1.5px solid var(--ink);font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sheet-foot span{padding:6px 12px;border-inline-end:1px solid var(--line)}
.sheet-foot span:last-child{border-inline-end:0;margin-inline-start:auto}
.lede{color:var(--ink2);max-width:78ch}
.grid2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:14px;align-items:start}
.grid2.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:1000px){.grid2,.grid2.even{grid-template-columns:minmax(0,1fr)}}

/* ---------- home ---------- */
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0}
.hero-l{padding:28px 28px 26px}
.hero-l h2{font-size:40px;line-height:1.1;margin-top:10px;max-width:20ch}
html[dir="rtl"] .hero-l h2{font-size:36px;line-height:1.35}
.hero-l p{margin-top:14px;font-size:17px;color:var(--ink2);max-width:60ch}
.hero-l .row{margin-top:22px}
.hero-r{border-inline-start:1.5px solid var(--ink);background:var(--navy);color:var(--onNavy);padding:22px;display:flex;flex-direction:column;justify-content:center;gap:0}
.stat{padding:14px 0;border-bottom:1px solid rgba(238,242,248,.18)}
.stat:last-child{border-bottom:0}
.stat .v{font-family:var(--f-head);font-size:44px;font-weight:700;line-height:1;color:var(--amber);font-variant-numeric:tabular-nums}
.stat .v small{font-size:20px;color:var(--onNavy);opacity:.75;font-weight:500}
.stat .l{font-weight:600;margin-top:6px}
.stat .s{font-size:13px;opacity:.75;margin-top:2px}
@media (max-width:900px){.hero{grid-template-columns:1fr}.hero-r{border-inline-start:0;border-top:1.5px solid var(--ink)}.hero-l h2{font-size:30px}html[dir="rtl"] .hero-l h2{font-size:28px}.hero-l{padding:20px}}

/* ---------- controls ---------- */
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.field{display:flex;flex-direction:column;gap:4px;min-width:0}
.field label,.lbl{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
html[dir="rtl"] .field label,html[dir="rtl"] .lbl{font-family:var(--f-body);letter-spacing:0;font-size:13px;font-weight:600}
select,input[type=text],textarea{background:var(--sheet);border:1px solid var(--line);border-radius:4px;padding:8px 10px;min-width:0;max-width:100%}
textarea{width:100%;resize:vertical;line-height:1.5;font-size:15px}
.btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--ink);background:var(--sheet);color:var(--ink);padding:9px 16px;border-radius:4px;font-weight:600;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--sheet2)}
.btn.primary{background:var(--navy);color:var(--onNavy);border-color:var(--navy)}
.btn.primary:hover{filter:brightness(1.15)}
.btn.amber{background:var(--amber);border-color:var(--amber);color:#0D1B34}
.btn.small{padding:5px 10px;font-size:14px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.linkbtn{background:none;border:0;padding:0;color:var(--info);text-decoration:underline;cursor:pointer;font-size:14px}
.note{font-size:14px;color:var(--muted)}
.callout{border-inline-start:4px solid var(--amber);background:var(--amberBg);padding:10px 14px;font-size:14px;color:var(--ink2)}
.callout.info{border-color:var(--info);background:var(--infoBg)}
.callout.bad{border-color:var(--bad);background:var(--badBg)}
.callout.ok{border-color:var(--ok);background:var(--okBg)}

/* ---------- docs ---------- */
.docs{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.doc{border:1px solid var(--line);background:var(--sheet)}
.doc-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--sheet2)}
.doc textarea{border:0;border-radius:0;display:block;background:transparent}
.chip{display:inline-flex;align-items:center;font-family:var(--f-mono);font-size:12px;font-weight:700;letter-spacing:.06em;padding:2px 7px;border:1.5px solid var(--ink);border-radius:3px;background:var(--sheet);white-space:nowrap;direction:ltr}
.chip.amber{background:var(--amber);border-color:var(--amber);color:#0D1B34}
.chip.word{direction:inherit;font-family:var(--f-body);letter-spacing:0}
.x{background:none;border:0;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px}

/* ---------- steps ---------- */
.steps{display:flex;flex-direction:column;gap:14px;min-width:0}
.step{border:1.5px solid var(--ink);background:var(--sheet)}
.step-h{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--sheet2);flex-wrap:wrap}
.num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--amber);color:#0D1B34;font-family:var(--f-mono);font-weight:700;flex:0 0 auto}
.step-h h3{font-size:18px}
.tag{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:3px;border:1px solid var(--line);color:var(--ink2)}
html[dir="rtl"] .tag{font-family:var(--f-body);letter-spacing:0;font-size:12px}
.tag.ai{background:var(--infoBg);border-color:transparent;color:var(--info)}
.tag.code{background:var(--okBg);border-color:transparent;color:var(--ok)}
.tag.you{background:var(--amberBg);border-color:transparent;color:var(--amberInk)}
.step-b{padding:14px}
.step-b>*+*{margin-top:12px}
.empty{color:var(--muted);font-size:15px}
.tblw{overflow-x:auto;border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:start;vertical-align:top;padding:7px 10px;border-bottom:1px solid var(--line2)}
th{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--sheet2);font-weight:500;white-space:nowrap}
html[dir="rtl"] th{font-family:var(--f-body);letter-spacing:0;font-size:12px;font-weight:600}
tr:last-child td{border-bottom:0}
.pt{border:1px solid var(--line);padding:10px 12px}
.pt-h{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.pt-h b{font-weight:600}
.st{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin-top:8px;font-size:14px;align-items:baseline}
.q{color:var(--ink2);unicode-bidi:plaintext}
.q::before{content:"\201C"}.q::after{content:"\201D"}
.ver{font-family:var(--f-mono);font-size:11px;margin-inline-start:6px;white-space:nowrap}
html[dir="rtl"] .ver{font-family:var(--f-body);font-size:12px}
.ver.ok{color:var(--ok)}.ver.bad{color:var(--bad)}
.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:3px;white-space:nowrap}
html[dir="rtl"] .badge{font-family:var(--f-body);letter-spacing:0;font-size:12px}
.b-differ{background:var(--badBg);color:var(--bad)}
.b-agree{background:var(--okBg);color:var(--ok)}
.b-single{background:var(--sheet2);color:var(--muted);border:1px solid var(--line)}
.b-kind{background:var(--sheet2);color:var(--ink2);border:1px solid var(--line)}
.b-fix{background:var(--amberBg);color:var(--amberInk);white-space:normal}
.check{font-family:var(--f-mono);font-size:13px;color:var(--ink2);margin-top:6px;unicode-bidi:plaintext}
.banner{display:flex;gap:14px;align-items:flex-start;padding:14px;border:1.5px solid var(--ink)}
.banner.ok{background:var(--okBg);border-color:var(--ok)}
.banner.bad{background:var(--badBg);border-color:var(--bad)}
.banner h4{font-size:20px}
.banner .big{font-family:var(--f-head);font-size:34px;font-weight:700;line-height:1}
.cf{border:1.5px solid var(--ink)}
.cf-h{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center;padding:8px 12px;background:var(--navy);color:var(--onNavy)}
.cf-h .eyebrow{color:var(--amber)}
.cf-b{padding:12px}
.cf-b>*+*{margin-top:10px}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:640px){.vs{grid-template-columns:1fr}}
.vs>div{border:1px solid var(--line);padding:8px 10px;font-size:14px}
.vs>div.win{border:2px solid var(--ok);background:var(--okBg)}
.follow{font-size:16px}
.why{font-size:14px;color:var(--ink2)}
.rfi{width:100%;font-family:var(--f-mono);font-size:13px;line-height:1.55;min-height:240px;unicode-bidi:plaintext}
html[dir="rtl"] .rfi{font-family:var(--f-body);font-size:14px}
.decided{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ok)}
details>summary{cursor:pointer;font-weight:600}
.key{border:1.5px dashed var(--amber);padding:10px 12px;background:var(--amberBg);font-size:14px}

/* ---------- KPIs ---------- */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1.5px solid var(--ink)}
@media (max-width:760px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi{padding:12px 14px;border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--sheet)}
.kpi .v{font-family:var(--f-head);font-size:32px;font-weight:700;line-height:1.05;margin-top:4px;font-variant-numeric:tabular-nums}
.kpi .v small{font-size:16px;color:var(--muted);font-weight:500}
.kpi .s{font-size:13px;color:var(--muted);margin-top:2px}

/* ---------- grade cells ---------- */
.gcell{display:inline-flex;align-items:center;justify-content:center;width:34px;height:30px;border-radius:3px;font-weight:700;font-family:var(--f-mono);border:1px solid transparent;cursor:pointer;background:none;padding:0}
.g-ok{background:var(--okBg);color:var(--ok)}
.g-warn{background:var(--warnBg);color:var(--warn)}
.g-bad{background:var(--badBg);color:var(--bad)}
.g-err{background:var(--sheet2);color:var(--muted);border-color:var(--line)}
.g-run{background:var(--infoBg);color:var(--info)}
.gcell.sel{outline:2px solid var(--ink);outline-offset:1px}
.gtbl td,.gtbl th{text-align:center;padding:5px 6px}
.gtbl td:first-child,.gtbl th:first-child,.gtbl td:nth-child(2),.gtbl th:nth-child(2){text-align:start}
.gtbl th.tool{border-inline-start:1px solid var(--line)}
.gtbl td.sep{border-inline-start:1px solid var(--line)}
.legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--ink2);align-items:center}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend .gcell{width:24px;height:22px;font-size:12px;cursor:default}
.bars{display:flex;flex-direction:column;gap:8px}
.bar{display:grid;grid-template-columns:90px 1fr 70px;gap:10px;align-items:center;font-size:14px}
.bar .track{height:14px;background:var(--line2);position:relative}
.bar .fill{position:absolute;inset-inline-start:0;top:0;bottom:0;background:var(--navy)}
:root[data-theme="dark"] .bar .fill{background:var(--amber)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .bar .fill{background:var(--amber)}}
.progress{height:10px;background:var(--line2);position:relative;border:1px solid var(--line)}
.progress div{position:absolute;inset-inline-start:0;top:0;bottom:0;background:var(--amber);transition:width .3s}
.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--amber);border-radius:50%;animation:sp 1s linear infinite;vertical-align:-2px}
@keyframes sp{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.spin{animation:none}.progress div{transition:none}}
.clickrow{cursor:pointer}
.clickrow:hover td{background:var(--sheet2)}
.fig{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:8px}
html[dir="rtl"] .fig{font-family:var(--f-body);letter-spacing:0;font-size:13px}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.cols3{grid-template-columns:1fr}}
.card{border:1px solid var(--line);padding:12px 14px;background:var(--sheet)}
.card h4{font-size:16px;margin-bottom:6px}
.card p+p{margin-top:6px}
.card .lbl{display:block;margin-bottom:4px}
ul.clean{margin:0;padding-inline-start:18px;display:flex;flex-direction:column;gap:6px}
svg text{font-family:var(--f-body)}
.foot{margin-top:18px;border:1.5px solid var(--ink);background:var(--sheet);display:flex;flex-wrap:wrap;font-size:13px;color:var(--ink2)}
.foot>div{padding:10px 14px;border-inline-end:1px solid var(--line)}
.foot>div:last-child{border-inline-end:0;margin-inline-start:auto;color:var(--muted)}
@media (max-width:760px){.foot>div{border-inline-end:0;border-bottom:1px solid var(--line);width:100%}.foot>div:last-child{border-bottom:0;margin:0}}
.hide{display:none !important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
