/* ═══════════════ e'thix AI — legal views (W8 PK-W8-2): job summary, contract review, timeline, evidence matrix,
   entitlement cards, document summary. Drawn by js/legal-views.js inside the reports viewer (tools-hub.js).
   Mobile first (320 px up): one column, the matrix turns into stacked rows under 640 px; logical properties only, so
   Arabic (RTL) and English (LTR) mirror without a rule of their own. Small text uses the ink/muted mixes of
   tools-hub.css so it keeps 4.5:1. Status is never colour alone: every chip carries its words. */

.lv,.lv-stack{display:grid;gap:14px;min-width:0}
.lv-sec{display:grid;gap:10px;padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--line);min-width:0}
.lv-h{margin:0;font-size:15px;font-weight:700;color:var(--ink);line-height:1.45}
.lv-gh{margin:6px 0 0;font-size:14px;font-weight:700;color:var(--ink)}
.lv-sub{margin:4px 0 0;font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.lv-muted{margin:0;font-size:12.5px;line-height:1.7;color:color-mix(in srgb,var(--muted) 55%,var(--ink))}
.lv-note{margin:0;font-size:13px;line-height:1.7;color:var(--ink);padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--ink) 4%,transparent)}
.lv-note.is-warn{background:color-mix(in srgb,#C79A2E 14%,transparent)}
.lv-progress{margin:0;font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.lv-headline{margin:0;font-size:16px;font-weight:700;line-height:1.6;color:var(--ink)}

/* «بانتظار اعتماد المحامي» (C21) */
.lv-pending{display:inline-flex;align-items:center;gap:6px;margin:0;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;justify-self:start;
  background:color-mix(in srgb,#C79A2E 16%,transparent);color:color-mix(in srgb,#8A6412 82%,var(--ink))}
html[data-theme="dark"] .lv-pending{color:#E8C877}
.lv-pending .i{width:14px;height:14px}

/* chips: words first, colour second */
.lv-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.6;
  background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink)}
.lv-chip.s-present,.lv-chip.s-backs{background:color-mix(in srgb,var(--ok) 15%,transparent);color:color-mix(in srgb,var(--ok) 55%,var(--ink))}
.lv-chip.s-attention,.lv-chip.s-weak{background:color-mix(in srgb,#C79A2E 17%,transparent);color:color-mix(in srgb,#8A6412 80%,var(--ink))}
.lv-chip.s-check{background:color-mix(in srgb,#7488A8 17%,transparent);color:color-mix(in srgb,#3E4E66 80%,var(--ink))}
.lv-chip.s-missing,.lv-chip.s-against{background:color-mix(in srgb,var(--danger) 13%,transparent);color:color-mix(in srgb,var(--danger) 70%,var(--ink))}
.lv-chip.s-proposal{background:color-mix(in srgb,var(--accent-b) 14%,transparent);color:var(--ink)}
.lv-chip.s-word,.lv-chip.s-doc{background:color-mix(in srgb,var(--ink) 7%,transparent)}
html[data-theme="dark"] .lv-chip.s-attention,html[data-theme="dark"] .lv-chip.s-weak{color:#E8C877}
html[data-theme="dark"] .lv-chip.s-check{color:#B7C6DD}
.lv-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}

/* counts (real counts only) */
.lv-counts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.lv-count{display:grid;gap:2px;padding:10px;border-radius:12px;background:color-mix(in srgb,var(--ink) 4%,transparent)}
.lv-count b{font-size:20px;font-weight:800;color:var(--ink);line-height:1.2}
.lv-count span{font-size:12px;line-height:1.5;color:color-mix(in srgb,var(--muted) 55%,var(--ink))}

/* rows (clauses, other passages) */
.lv-rows{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lv-row{display:grid;gap:6px;padding:12px;border-radius:14px;border:1px solid var(--line);border-inline-start-width:4px;background:var(--surface);min-width:0}
.lv-row.s-present{border-inline-start-color:color-mix(in srgb,var(--ok) 60%,var(--line))}
.lv-row.s-attention{border-inline-start-color:#C79A2E}
.lv-row.s-check{border-inline-start-color:#7488A8}
.lv-row.is-reviewed{background:color-mix(in srgb,var(--ok) 5%,var(--surface))}
.lv-row.is-irrelevant{opacity:.72}
.lv-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lv-state{font-size:12px;font-weight:700;color:color-mix(in srgb,var(--ok) 55%,var(--ink))}
.lv-summary{margin:0;font-size:14px;line-height:1.7;color:var(--ink);overflow-wrap:anywhere}
.lv-concern{margin:0;font-size:13px;line-height:1.6;color:var(--ink-soft)}
.lv-quote{margin:0;padding:8px 12px;border-inline-start:3px solid color-mix(in srgb,var(--gold-deep) 55%,var(--line));background:color-mix(in srgb,var(--ink) 3%,transparent);
  border-start-end-radius:10px;border-end-end-radius:10px;font-size:13.5px;line-height:1.8;color:var(--ink);overflow-wrap:anywhere}
.lv-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.lv-arts{font-size:12.5px;line-height:1.6;color:var(--ink-soft)}
.lv-page{display:inline-flex;align-items:center;min-height:32px;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:700;
  border:1px solid color-mix(in srgb,var(--accent-b) 40%,var(--line));background:transparent;color:var(--ink);cursor:pointer}
.lv-page.is-plain{cursor:default;border-style:dashed}
.lv-page:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}
.lv-acts{display:flex;flex-wrap:wrap;gap:6px}
.lv-acts .b{min-height:40px}
.lv-acts .b[aria-pressed="true"]{background:color-mix(in srgb,var(--ok) 16%,transparent);border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}
.lv-group{display:grid;gap:8px}

/* lists */
.lv-steps{margin:0;padding-inline-start:20px;display:grid;gap:6px;font-size:13.5px;line-height:1.7;color:var(--ink)}
.lv-facts{margin:0;padding-inline-start:18px;display:grid;gap:4px;font-size:13px;line-height:1.7;color:var(--ink)}
.lv-check{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.lv-check li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.7;color:var(--ink)}
.lv-check input{width:20px;height:20px;flex:none;margin-top:3px;accent-color:var(--accent-b)}
.lv-watch{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lv-watch li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.7;color:var(--ink)}
.lv-watch .i,.lv-dl .i{width:16px;height:16px;flex:none;margin-top:4px;color:#A87A1C}
.lv-artlist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lv details>summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--ink);min-height:32px;display:flex;align-items:center}
.lv details>summary:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px;border-radius:6px}
.lv details p{margin:4px 0;font-size:13px;line-height:1.7;color:var(--ink-soft)}
.lv-link{font-size:12.5px;color:var(--ink);text-decoration:underline}

/* timeline: one vertical line along the reading edge */
.lv-line{list-style:none;margin:0;padding:0;display:grid;gap:12px;position:relative;padding-inline-start:22px}
.lv-line::before{content:"";position:absolute;inset-block:6px;inset-inline-start:7px;width:2px;background:color-mix(in srgb,var(--accent-b) 35%,var(--line))}
.lv-ev{position:relative;min-width:0}
.lv-dot{position:absolute;inset-inline-start:-20px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--accent-b)}
.lv-line.g-hijri .lv-dot{border-color:#7488A8}
.lv-line.g-unordered .lv-dot{border-style:dashed;border-color:var(--muted)}
.lv-line.g-chat .lv-dot{border-color:var(--gold-deep)}
.lv-ev-body{display:grid;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);min-width:0}
.lv-date{margin:0;font-size:14px;font-weight:800;color:var(--ink)}
.lv-what{margin:0;font-size:13.5px;line-height:1.7;color:var(--ink);overflow-wrap:anywhere}
.lv-deadlines{border-color:color-mix(in srgb,#C79A2E 55%,var(--line));background:color-mix(in srgb,#C79A2E 7%,var(--surface))}
.lv-dl{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.lv-dl li{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:700;line-height:1.7;color:var(--ink)}

/* evidence matrix */
.lv-filters{display:flex;flex-wrap:wrap;gap:6px}
.lv-filters .b{min-height:40px}
.lv-filters .b[aria-pressed="true"]{background:color-mix(in srgb,var(--accent-b) 18%,transparent);border-color:color-mix(in srgb,var(--accent-b) 50%,var(--line));font-weight:700}
.lv-tablewrap{overflow-x:auto;max-width:100%;border-radius:12px;border:1px solid var(--line)}
.lv-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.6;color:var(--ink)}
.lv-table th,.lv-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top;min-width:0}
.lv-table thead th{font-size:12px;font-weight:700;color:var(--ink-soft);background:color-mix(in srgb,var(--ink) 4%,transparent)}
.lv-table tbody th{font-weight:700}
.lv-table tr.is-word th{border-inline-start:3px solid #C79A2E}
.lv-table tr.is-missing th{border-inline-start:3px solid var(--danger)}
.lv-table tr.is-pinned{background:color-mix(in srgb,var(--ok) 6%,transparent)}
.lv-table q{display:block;margin-top:4px;font-size:12.5px;color:var(--ink-soft);quotes:"«" "»"}
.lv-mcell{display:grid;gap:4px;padding:6px 0;justify-items:start}
.lv-empty{font-size:12px;color:color-mix(in srgb,var(--muted) 55%,var(--ink))}
.lv-fix{min-height:36px;justify-self:start}
@media (max-width:640px){
  .lv-mx .lv-tablewrap{overflow:visible;border:0}
  .lv-mx .lv-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .lv-mx .lv-table,.lv-mx .lv-table tbody,.lv-mx .lv-table tr,.lv-mx .lv-table th,.lv-mx .lv-table td{display:block;width:auto}
  .lv-mx .lv-table tr{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:var(--surface)}
  .lv-mx .lv-table tr[hidden]{display:none}
  .lv-mx .lv-table td::before{content:attr(data-label);display:block;font-size:11.5px;font-weight:700;color:var(--ink-soft)}
  .lv-mx .lv-table td{border-bottom:1px dashed var(--line)}
}

/* entitlement cards */
.lv-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:640px){.lv-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
.lv-card{display:grid;gap:6px;align-content:start;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface);min-width:0}
.lv-card-t{margin:0;font-size:14.5px;font-weight:700;color:var(--ink)}
.lv-fig{margin:0;font-size:17px;font-weight:800;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.lv-basis{margin:0;font-size:13px;line-height:1.6;color:var(--ink-soft)}
.lv-conds{margin:0;padding-inline-start:18px;font-size:13px;line-height:1.7;color:var(--ink)}
.lv-formula{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.lv-inputs{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px}
.lv-inputs dt{font-weight:700;color:var(--ink-soft)}
.lv-inputs dd{margin:0;color:var(--ink)}
.lv-scen{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}
.lv-scen li{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.lv-totals{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lv-totals li{font-size:15px;font-weight:700;line-height:1.7;color:var(--ink)}
.lv-answer{justify-self:start;min-height:40px}

/* job summary + donut of REAL counts */
.lv-js{padding:14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent-b) 30%,var(--line));background:color-mix(in srgb,var(--accent-b) 4%,var(--surface))}
.lv-js-row{display:grid;grid-template-columns:1fr;gap:12px;align-items:center}
@media (min-width:640px){.lv-js-row{grid-template-columns:1fr auto}}
.lv-donut{display:flex;align-items:center;gap:12px;margin:0}
.lv-donut svg{width:88px;height:88px;flex:none;transform:rotate(-90deg)}
.lv-ring{fill:none;stroke:color-mix(in srgb,var(--ink) 8%,transparent);stroke-width:6}
.lv-seg{fill:none;stroke-width:6}
.lv-legend ul{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:12.5px;color:var(--ink)}
.lv-legend li{display:flex;align-items:center;gap:6px}
.lv-legend b{margin-inline-start:auto;padding-inline-start:8px}
.lv-sw{width:10px;height:10px;border-radius:3px;flex:none;background:var(--muted)}
.lv-seg.k-clause{stroke:#7488A8}.lv-legend .k-clause .lv-sw{background:#7488A8}
.lv-seg.k-risk{stroke:#C79A2E}.lv-legend .k-risk .lv-sw{background:#C79A2E}
.lv-seg.k-fact{stroke:#4F8A6B}.lv-legend .k-fact .lv-sw{background:#4F8A6B}
.lv-seg.k-date{stroke:#8C6BB1}.lv-legend .k-date .lv-sw{background:#8C6BB1}
.lv-seg.k-amount{stroke:#B5654A}.lv-legend .k-amount .lv-sw{background:#B5654A}
.lv-seg.k-issue{stroke:#5A7F9C}.lv-legend .k-issue .lv-sw{background:#5A7F9C}

/* the report's full text, one click away */
.lv-full{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:var(--surface)}
.lv-full>summary{cursor:pointer;font-size:14px;font-weight:700;color:var(--ink);min-height:40px;display:flex;align-items:center}
.lv-full>summary:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px;border-radius:8px}

@media (prefers-reduced-motion:no-preference){.lv-row,.lv-page{transition:background var(--t-fast,.15s),opacity var(--t-fast,.15s)}}
@media print{
  .lv-acts,.lv-filters,.lv-answer,.lv-upload,.lv-fix{display:none!important}
  .lv details{display:block}
  .lv-sec,.lv-row,.lv-card,.lv-ev-body{break-inside:avoid}
}
/* E2 (W4 extras): upload inside the evidence matrix, and the new documents' columns */
.lv-mx-up{display:grid;gap:6px;min-width:0}
.lv-mx-up > .lv-upload{justify-self:start;min-height:44px}
.lv-mx-uplist{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.lv-mx-upitem{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;overflow-wrap:anywhere}
.lv-mx-upitem.s-failed small{color:color-mix(in srgb,var(--danger) 80%,var(--ink))}
.lv-table th.is-new,.lv-table td.is-new{background:color-mix(in srgb,var(--accent-c) 7%,transparent)}
.lv-table th.is-new .lv-chip{margin-inline-start:6px}
.lv-mx-rebuild{display:grid;gap:6px}
.lv-mx-rebuild .b{justify-self:start;min-height:44px}
