/* ═══════════════ e'thix — the case file and its question cards (W2 ETHIX-CASE-UI) ═══════════════
   casefile.js draws: .case-chip (in the answer's .answer-meta row), .case-inline (under the latest answer), .tb-case
   (in the topbar's .tb-case-slot), .case-panel (docked/overlay side panel ≥821px) and .case-sheet (E.sheet ≤820px).
   facts.js draws the .fq-* question cards. Colours come from the theme tokens only, so the dark theme and high
   contrast follow; directions are logical (inline-start/end), so RTL needs no mirror rules except the slide-in. */

.case-inline{margin:12px 0 4px;display:grid;gap:10px;min-width:0}

/* ── the chip: «ملف القضية · ٥ معلومات · معلومتان ناقصتان» ── */
.case-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:6px 14px 6px 10px;border-radius:14px;
  border:1px solid color-mix(in srgb,var(--accent-b) 38%,var(--line));background:color-mix(in srgb,var(--accent-a) 14%,var(--surface));
  color:var(--ink);font-size:13px;text-align:start;box-shadow:var(--shadow-1);
  transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}
html[dir="rtl"] .case-chip{padding:6px 10px 6px 14px}
/* a chip, not a bar: inside the inline block (a grid) it keeps its own width */
.case-inline > .case-chip{justify-self:start}
.case-chip-i{width:26px;height:26px;flex:none;padding:5px;border-radius:8px;background:var(--g-accent);color:var(--on-accent)}
.case-chip-t{font-weight:700;white-space:nowrap}
.case-chip-n{min-width:0;color:var(--ink-soft);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.case-chip[aria-expanded="true"]{border-color:color-mix(in srgb,var(--accent-c) 70%,var(--line))}
.case-chip:focus-visible{outline-offset:2px}
@media (hover:hover){.case-chip:hover{border-color:color-mix(in srgb,var(--accent-b) 70%,var(--line));box-shadow:0 6px 18px -8px color-mix(in srgb,var(--accent-c) 45%,transparent)}}

/* ── «حدّث التحليل» in the thread: the customer's action, as a compact chip rather than a typed message ── */
.row.user.case-refresh-turn .bubble,html[data-theme="dark"] .row.user.case-refresh-turn .bubble{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;
  font-size:12.5px;font-weight:600;color:var(--ink-soft);background:color-mix(in srgb,var(--accent-a) 18%,var(--surface));
  border:1px dashed color-mix(in srgb,var(--accent-b) 55%,var(--line));box-shadow:none}
.case-refresh-i{width:14px;height:14px;flex:none;color:var(--gold-text)}

/* ── the header button ── */
.tb-case-slot{display:inline-flex}
.tb-case-slot[hidden]{display:none}
.tb-case{position:relative}
.tb-case[aria-expanded="true"]{color:var(--gold-text);background:color-mix(in srgb,var(--accent-b) 16%,transparent)}
.tb-case-dot{position:absolute;top:8px;inset-inline-end:8px;width:8px;height:8px;border-radius:50%;background:var(--accent-c);
  box-shadow:0 0 0 2px var(--surface)}

/* ── notices under the answer ── */
.case-stale{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;border-radius:var(--r);
  border:1px solid color-mix(in srgb,var(--accent-b) 40%,var(--line));background:color-mix(in srgb,var(--accent-a) 20%,var(--surface))}
.case-stale-i{width:18px;height:18px;flex:none;color:var(--gold-text)}
.case-stale-t{flex:1 1 220px;min-width:0;margin:0;font-size:13px;line-height:1.6;color:var(--ink)}
.case-notice{display:flex;align-items:flex-start;gap:8px;margin:0;padding:9px 12px;border-radius:var(--r-sm);font-size:13px;line-height:1.6}
.case-notice .i{width:16px;height:16px;flex:none;margin-top:2px}
.case-notice.warn{color:var(--ink);background:color-mix(in srgb,var(--warn) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 35%,var(--line))}
.case-notice.danger{color:var(--ink);background:color-mix(in srgb,var(--danger) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line))}
.case-notice.danger .i{color:var(--danger)}
.case-notice.ok{color:var(--ink);background:color-mix(in srgb,var(--ok) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--ok) 32%,var(--line))}

/* ═══════════ Question cards (facts.js) ═══════════ */
.fq-card{margin:0;min-width:0;display:grid;gap:12px;padding:14px;border-radius:18px;
  border:1px solid color-mix(in srgb,var(--accent-b) 35%,var(--line));
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent-a) 16%,var(--surface)),var(--surface));box-shadow:var(--shadow-1)}
.fq-top{display:flex;align-items:center;gap:10px;min-width:0}
.fq-ic{width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--g-accent);color:var(--on-accent)}
.fq-ic .i{width:16px;height:16px}
.fq-title{flex:1;min-width:0;margin:0;font-size:14.5px;font-weight:700;line-height:1.45}
.fq-step{flex:none;font-size:12px;font-weight:700;color:var(--gold-text);padding:2px 9px;border-radius:20px;background:color-mix(in srgb,var(--accent-a) 22%,transparent)}

.fq-progress{display:grid;gap:5px}
.fq-bar{height:6px;border-radius:6px;overflow:hidden;background:color-mix(in srgb,var(--ink) 9%,transparent)}
.fq-fill{display:block;height:100%;width:var(--p,0%);border-radius:inherit;background:var(--g-accent);transition:width .5s var(--ios)}
.fq-progress-t{font-size:12px;color:var(--muted)}
/* N20 caseflow (C2): the essential count, complete — one settled line above optional questions */
.fq-complete{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:12.5px;line-height:1.6;color:var(--ok,#067647)}
.fq-complete .i{flex:none;width:16px;height:16px;margin-top:2px}
.fq-complete span{color:var(--ink-soft)}

.fq-q{margin:0;padding:0;border:0;min-width:0;display:grid;gap:8px}
.fq-q + .fq-q{padding-top:12px;border-top:1px solid var(--line)}
.fq-text{float:none;width:100%;padding:0;margin:0;font-size:15px;font-weight:700;line-height:1.6;color:var(--ink);overflow-wrap:anywhere}
.fq-req{justify-self:start;font-size:11px;font-weight:700;padding:1px 8px;border-radius:20px;color:var(--muted);background:color-mix(in srgb,var(--ink) 7%,transparent)}
.fq-req.on{color:var(--gold-text);background:color-mix(in srgb,var(--accent-b) 18%,transparent)}
.fq-why{font-size:13px;color:var(--ink-soft)}
.fq-why>summary{display:inline-flex;align-items:center;gap:6px;min-height:32px;cursor:pointer;list-style:none;color:var(--gold-text);font-weight:600;border-radius:8px}
.fq-why>summary::-webkit-details-marker{display:none}
.fq-why>summary .i{width:15px;height:15px}
.fq-why p{margin:4px 0 0;padding:8px 10px;border-radius:var(--r-sm);line-height:1.7;background:color-mix(in srgb,var(--ink) 4%,transparent)}
.fq-body{display:grid;gap:8px;min-width:0}
.fq-field{display:grid;gap:6px;min-width:0}

/* options: native radios (arrow keys, screen readers) under a pill that is the 44px target */
.fq-opts{display:flex;flex-wrap:wrap;gap:8px}
.fq-opt{position:relative;display:flex;min-width:0;cursor:pointer}
.fq-yn .fq-opt{flex:1 1 120px}
.fq-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.fq-opt-t{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:44px;padding:8px 14px;border-radius:13px;
  border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;line-height:1.4;text-align:center;
  overflow-wrap:anywhere;transition:border-color var(--t),background-color var(--t),color var(--t)}
.fq-opt input:checked + .fq-opt-t{border-color:transparent;background:var(--g-accent);color:var(--on-accent);box-shadow:0 6px 16px color-mix(in srgb,var(--accent-b) 35%,transparent)}
.fq-opt input:focus-visible + .fq-opt-t{outline:2px solid var(--accent-c);outline-offset:2px}
.fq-opt input:disabled + .fq-opt-t{opacity:.45;cursor:default}
@media (hover:hover){.fq-opt input:not(:checked):not(:disabled):hover + .fq-opt-t{border-color:color-mix(in srgb,var(--accent-b) 60%,var(--line))}}

.fq-num{display:flex;align-items:stretch;gap:8px;min-width:0}
.fq-num .fq-input{flex:1;min-width:0;min-height:44px;font-size:16px;text-align:start;font-variant-numeric:tabular-nums}
.fq-unit{display:flex;align-items:center;padding:0 12px;border-radius:12px;font-size:13px;font-weight:700;color:var(--gold-text);
  background:color-mix(in srgb,var(--accent-a) 20%,transparent);white-space:nowrap}
.fq-line .fq-input{min-height:44px;font-size:16px}
.fq-t-text .fq-input{min-height:72px;resize:vertical}
.fq-hint{font-size:12px;color:var(--muted);line-height:1.5;min-height:1.5em}
.fq-err{margin:0;font-size:12.5px;font-weight:600;color:var(--danger);line-height:1.5}
/* an empty live region stays in the accessibility tree (a display:none one is not, and then is not heard when filled) */
.fq-err:empty,.fq-status:empty{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

.fq-confirm{display:grid;gap:8px}
.fq-current{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;padding:9px 12px;border-radius:var(--r-sm);
  background:color-mix(in srgb,var(--accent-a) 12%,var(--surface));border:1px solid var(--line);font-size:14px;overflow-wrap:anywhere}
.fq-k{font-size:12px;font-weight:600;color:var(--muted)}

.fq-unknown{justify-self:start;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:12px;font-size:13px;font-weight:600;
  color:var(--ink-soft);border:1px dashed color-mix(in srgb,var(--ink) 22%,transparent);background:transparent}
.fq-unknown[aria-pressed="true"]{color:var(--ink);border-style:solid;border-color:color-mix(in srgb,var(--accent-c) 60%,var(--line));
  background:color-mix(in srgb,var(--accent-a) 22%,transparent)}
.fq-q.is-unknown .fq-field{opacity:.5}
/* C12 quick picks: chips beside a typed field — «لم يذكروا سببًا», «٠» — pressed, they are the answer */
.fq-picks{display:flex;flex-wrap:wrap;gap:6px}
.fq-pick{display:inline-flex;align-items:center;min-height:40px;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600;
  color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);text-align:start;overflow-wrap:anywhere}
.fq-pick[aria-pressed="true"]{color:var(--on-accent);border-color:transparent;background:var(--g-accent)}
.fq-pick:disabled{opacity:.45}
.fq-field.has-pick .fq-num,.fq-field.has-pick .fq-line{opacity:.55}

.fq-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fq-card .b,.case-inline .b,.case-panel .b,.case-sheet .b{--b-h:44px}
.fq-send{min-width:140px}
.fq-status{margin:0;font-size:13px;line-height:1.6;color:var(--ink-soft)}
.fq-status.ok{color:color-mix(in srgb,var(--ok) 62%,var(--ink))}
.fq-status.warn{color:color-mix(in srgb,var(--warn) 70%,var(--ink))}
.fq-status.danger{color:var(--danger)}
.fq-card[aria-busy="true"]{cursor:progress}
.fq-editor{padding:12px;border-radius:14px;box-shadow:none;margin-top:8px}

/* the question list while typed answers are off: a click starts the answer in the composer */
.fq-legacy-list{display:grid;gap:6px}
.fq-legacy-q{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 12px;border-radius:13px;text-align:start;
  background:var(--surface);border:1px solid var(--line);color:var(--ink)}
.fq-n{width:26px;height:26px;flex:none;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:700;
  background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink-soft)}
.fq-legacy-t{flex:1;min-width:0;display:grid;gap:1px}
.fq-legacy-t b{font-size:13.5px;overflow-wrap:anywhere}
.fq-legacy-t small{font-size:12px;color:var(--muted)}
.fq-go{width:16px;height:16px;flex:none;color:var(--muted)}
@media (hover:hover){.fq-legacy-q:hover{border-color:color-mix(in srgb,var(--accent-b) 55%,var(--line))}}

/* ═══════════ The panel ═══════════ */
.case-panel{--case-w:400px;position:absolute;inset-block:0;inset-inline-end:0;z-index:20;width:min(var(--case-w),94%);display:flex;flex-direction:column;
  background:var(--surface);color:var(--ink);border-inline-start:1px solid var(--line);box-shadow:var(--shadow-3);
  animation:case-in .45s var(--ios) both}
html[dir="rtl"] .case-panel{--case-dx:-1}
@keyframes case-in{from{opacity:0;transform:translateX(calc(28px * var(--case-dx,1)))}}
.cfp-head{display:flex;align-items:center;gap:10px;padding:14px 12px 12px 18px;border-bottom:1px solid var(--line);flex:none}
html[dir="rtl"] .cfp-head{padding:14px 18px 12px 12px}
.cfp-ic{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;background:var(--g-accent);color:var(--on-accent)}
.cfp-ic .i{width:18px;height:18px}
.cfp-title{flex:1;min-width:0;margin:0;font-size:17px;font-weight:700;outline:none}
.cfp-x{flex:none}
.case-panel .cfp-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px calc(24px + env(safe-area-inset-bottom))}
.cfp-body{display:grid;gap:18px;align-content:start;min-width:0}
/* below 1280 px the panel lies over the conversation: a scrim over what it covers (inert meanwhile), pressed to close */
/* the same dim as the app's own sheet backdrop (core.css dialog.sheet::backdrop), in both themes: it darkens, never lightens */
.case-scrim{position:absolute;inset:0;z-index:19;background:rgba(18,22,28,.32);animation:case-fade .3s ease both}
@keyframes case-fade{from{opacity:0}}
/* docked beside the conversation where there is room for both; an overlay below that */
@media (min-width:1280px){
  .case-scrim{display:none}
  .stage[data-mode="chat"].case-open .chat-pane{padding-inline-end:var(--case-w,400px);transition:padding .45s var(--ios)}
  .stage.case-open{--case-w:400px}
  .case-panel{box-shadow:none;width:var(--case-w)}
}
/* a phone, and a narrow tablet: the panel is a bottom sheet (E.sheet) */
@media (max-width:820px){
  dialog.sheet.case-sheet{width:100%;max-height:92dvh;margin:auto 0 0;border-radius:26px 26px 0 0;border-inline:0;border-bottom:0}
  .case-sheet .sheet-body{padding:4px 16px calc(20px + env(safe-area-inset-bottom))}
}

.cfp-sec{display:grid;gap:10px;min-width:0}
.cfp-h{margin:0;font-size:12.5px;font-weight:800;letter-spacing:.01em;color:var(--gold-text)}
.cfp-summary{gap:8px;padding:12px;border-radius:var(--r);background:color-mix(in srgb,var(--accent-a) 14%,var(--surface));
  border:1px solid color-mix(in srgb,var(--accent-b) 30%,var(--line))}
.cfp-headline{margin:0;font-size:15px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
/* C12: the bottom line is never cut — a long one is folded to four lines and opens whole on «المزيد» */
.cfp-headline.clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
.cfp-more-btn{justify-self:start;min-height:32px;padding:0 4px;font-size:12.5px;font-weight:700;color:var(--gold-text);text-decoration:underline;text-underline-offset:3px;background:none;border:0}
.cfp-sumline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.cfp-counts{font-size:12.5px;color:var(--ink-soft)}

.cfp-pill{display:inline-block;padding:0 9px;border-radius:20px;font-size:12px;font-weight:700;line-height:1.8;white-space:nowrap;
  color:var(--ink-soft);background:color-mix(in srgb,var(--ink) 8%,transparent)}
.cfp-pill[data-status="established"],.cfp-pill[data-status="presumed"],.cfp-pill[data-status="complete"]{color:color-mix(in srgb,var(--ok) 62%,var(--ink));background:color-mix(in srgb,var(--ok) 15%,transparent)}
.cfp-pill[data-status="established"]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ok) 40%,transparent)}
.cfp-pill[data-status="conditional"],.cfp-pill[data-status="collecting"]{color:color-mix(in srgb,var(--warn) 45%,var(--ink));background:color-mix(in srgb,var(--warn) 18%,transparent)}
.cfp-pill[data-status="analysable"]{color:var(--gold-text);background:color-mix(in srgb,var(--accent-b) 20%,transparent)}
.cfp-pill[data-status="disputed"]{color:var(--danger);background:var(--danger-soft)}

.cfp-chg{list-style:none;margin:0;padding:10px 12px;display:grid;gap:5px;border-radius:var(--r-sm);
  background:color-mix(in srgb,var(--accent-a) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent-b) 30%,var(--line))}
.cfp-chg li{position:relative;padding-inline-start:13px;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.cfp-chg li::before{content:"";position:absolute;inset-inline-start:0;top:.66em;width:5px;height:5px;border-radius:50%;background:var(--accent-c)}

.cfp-facts,.cfp-timeline{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.cfp-fact{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;padding:8px 10px;border-radius:var(--r-sm);
  background:color-mix(in srgb,var(--accent-a) 8%,var(--surface));border:1px solid var(--line);min-width:0}
.cfp-label{font-size:12.5px;color:var(--ink-soft);min-width:0;flex:1 1 140px;overflow-wrap:anywhere}
.cfp-dd{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px 8px;min-width:0;flex:1 1 160px}
.cfp-val{font-size:14px;font-weight:700;color:var(--ink);overflow-wrap:anywhere;min-width:0}
.cfp-tag{font-size:11px;font-weight:700;padding:1px 7px;border-radius:20px;white-space:nowrap;color:var(--on-accent);background:var(--g-accent)}
.cfp-fact[data-change]{border-color:color-mix(in srgb,var(--accent-b) 55%,var(--line));box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent-c) 70%,transparent)}
html[dir="rtl"] .cfp-fact[data-change]{box-shadow:inset -3px 0 0 color-mix(in srgb,var(--accent-c) 70%,transparent)}
.cfp-fact[data-change="fixed"] .cfp-tag{color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent)}
.cfp-ok{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;color:color-mix(in srgb,var(--ok) 62%,var(--ink));white-space:nowrap}
.cfp-ok .i{width:13px;height:13px;stroke-width:2.6}
.cfp-src-wrap{display:inline-flex;min-width:0;max-width:100%}
.cfp-nowrap{white-space:nowrap}
.cfp-src{display:inline-flex;align-items:center;min-height:26px;font-size:11.5px;color:var(--gold-text);padding:1px 8px;border-radius:20px;white-space:nowrap;
  background:color-mix(in srgb,var(--accent-b) 14%,transparent);border:0;white-space:normal;overflow-wrap:anywhere;text-align:start}
button.cfp-src{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
button.cfp-src[aria-expanded="true"]{background:color-mix(in srgb,var(--accent-b) 26%,transparent)}
.cfp-quote{flex-basis:100%;margin:2px 0 0;padding:6px 10px;border-inline-start:3px solid var(--accent-b);border-radius:6px;font-size:13px;line-height:1.7;
  color:var(--ink-soft);background:color-mix(in srgb,var(--ink) 4%,transparent);overflow-wrap:anywhere}
.cfp-edit{flex:none}
.cfp-fact .fq-editor{flex-basis:100%}
.cfp-timeline .cfp-fact{position:relative;padding-inline-start:26px}
.cfp-timeline .cfp-fact::before{content:"";position:absolute;inset-inline-start:10px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--accent-c)}

.cfp-note{margin:0;font-size:12.5px;color:var(--muted);line-height:1.6}
.cfp-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cfp-sug{display:grid;gap:8px;padding:10px;border-radius:var(--r-sm);border:1px dashed color-mix(in srgb,var(--accent-b) 50%,var(--line))}
.cfp-sug-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.cfp-acts{display:flex;flex-wrap:wrap;gap:8px}
.cfp-doc{display:flex;align-items:flex-start;gap:8px;min-width:0;font-size:13.5px}
.cfp-doc .i{width:16px;height:16px;flex:none;color:var(--muted)}
/* the whole name, wrapped: two files that start alike must stay tellable apart on a phone */
.cfp-doc-n{flex:1;min-width:0;overflow-wrap:anywhere}

.cfp-claim,.cfp-ent,.cfp-total{display:grid;gap:6px;padding:12px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);min-width:0}
.cfp-total{background:color-mix(in srgb,var(--accent-a) 14%,var(--surface));border-color:color-mix(in srgb,var(--accent-b) 38%,var(--line))}
.cfp-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;min-width:0}
.cfp-name{margin:0;font-size:14px;font-weight:700;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.cfp-fig{margin:0;font-size:16px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.cfp-art{margin:0;font-size:12px;color:var(--muted)}
.cfp-k{display:block;font-size:12px;font-weight:700;color:var(--ink-soft);margin-bottom:2px}
.cfp-cond ul,.cfp-scen ul{margin:0;padding-inline-start:18px;display:grid;gap:3px;font-size:13px;line-height:1.65;color:var(--ink-soft)}
.cfp-scen li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px}
.cfp-scen-f{font-weight:700;color:var(--ink)}
.cfp-formula p{margin:0;font-size:13px;line-height:1.65;color:var(--ink-soft);overflow-wrap:anywhere}
.cfp-more{display:grid;gap:8px}
.cfp-more>summary{display:flex;align-items:center;gap:6px;min-height:32px;cursor:pointer;list-style:none;font-size:12.5px;font-weight:600;color:var(--gold-text);border-radius:8px}
.cfp-more>summary::-webkit-details-marker{display:none}
.cfp-chev{width:15px;height:15px;transition:transform var(--t) var(--ios)}
.cfp-more[open]>summary .cfp-chev{transform:rotate(180deg)}

.cfp-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.cfp-chip{font-size:12.5px;padding:3px 10px;border-radius:20px;color:var(--ink-soft);background:color-mix(in srgb,var(--ink) 6%,transparent);overflow-wrap:anywhere}
.cfp-chip.muted{color:var(--ink-soft);border:1px dashed var(--line);background:transparent}

.cfp-qs{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.cfp-q{display:grid;gap:6px;padding:10px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface)}
.cfp-q-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.cfp-q-t{flex:1 1 200px;min-width:0;font-size:13.5px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}
.cfp-answer{justify-self:start}
.cfp-q .fq-card{padding:12px;box-shadow:none}
/* wave r3: the one confirm item — each stated fact and its value, one «راجِعها» */
.cfp-cfa-facts{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.cfp-cfa-fact{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:13px;line-height:1.6;min-width:0;overflow-wrap:anywhere}

.cfp-history>.cfp-more>summary .cfp-h{flex:1}
.cfp-hist{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.cfp-hist li{display:grid;gap:2px;padding-inline-start:12px;border-inline-start:2px solid color-mix(in srgb,var(--accent-b) 40%,var(--line))}
.cfp-hist-top{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11.5px;color:var(--muted)}
.cfp-kind{font-weight:700;color:var(--gold-text)}
.cfp-hist-l{margin:0;font-size:13px;overflow-wrap:anywhere}
.cfp-src-t{font-size:11.5px;color:var(--muted)}

/* ── narrow phones ── */
@media (max-width:640px){
  .fq-card{padding:12px;border-radius:16px}
  .fq-send{flex:1 1 100%}
  .fq-later{flex:1 1 100%}
}
@media (max-width:380px){
  .case-chip{padding-inline:8px}
  /* the counts leave the chip's face but stay in its name (the header button shows them too) */
  .case-chip-n{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .fq-yn .fq-opt{flex-basis:100%}
  .cfp-dd{justify-content:flex-start}
}
/* touch: every icon control a thumb can hit */
@media (pointer:coarse){
  .cfp-edit,.cfp-x,.case-sheet .sheet-x,.tb-case{min-width:44px;min-height:44px}
  .cfp-more-btn{min-width:44px}
  .fq-why>summary,.cfp-more>summary,.cfp-more-btn,.fq-pick{min-height:44px}
  /* the source pill stays small to the eye; its hit area reaches 44 px */
  .cfp-src{position:relative;min-height:32px}
  button.cfp-src::after{content:"";position:absolute;inset:-6px -2px}
}
@media (prefers-reduced-motion:reduce){
  .case-panel,.case-scrim,.fq-fill,.cfp-chev,.case-chip,.fq-opt-t,.stage[data-mode="chat"].case-open .chat-pane{animation:none;transition:none}
}
html.reduce-motion .case-panel,html.reduce-motion .case-scrim,html.reduce-motion .fq-fill,html.reduce-motion .cfp-chev,html.reduce-motion .stage[data-mode="chat"].case-open .chat-pane{animation:none;transition:none}
html.hc .fq-opt-t,html.hc .case-chip,html.hc .fq-card{border-color:var(--ink)}

/* Windows high contrast: colours are replaced, so the chosen answer is marked by the system's own highlight */
@media (forced-colors:active){
  .fq-opt input:checked + .fq-opt-t,.fq-pick[aria-pressed="true"],.fq-unknown[aria-pressed="true"]{forced-color-adjust:none;background:Highlight;color:HighlightText;border:2px solid Highlight}
  .fq-opt input:focus-visible + .fq-opt-t{outline:2px solid CanvasText}
  .case-chip,.fq-card,.cfp-fact,.cfp-ent,.cfp-total,.cfp-claim{border:1px solid CanvasText}
}

/* ═══════════ The workspace (sprint casefile): title, completeness, jump bar, actions, print ═══════════ */
.cfp-case{display:grid;gap:2px;min-width:0}
.cfp-case-kind{font-size:11.5px;font-weight:800;letter-spacing:.01em;color:var(--gold-text)}
.cfp-case-name{font-size:15px;font-weight:800;color:var(--ink);overflow-wrap:anywhere}
.cfp-meter{display:grid;gap:6px;min-width:0}
.cfp-meter-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px}
.cfp-meter-t{font-size:14px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.cfp-meter-n,.cfp-meter-hint{font-size:11.5px;color:var(--ink-soft)}
.cfp-meter-bar{position:relative;height:8px;border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--ink) 10%,transparent)}
.cfp-meter-fill{position:absolute;inset-block:0;inset-inline-start:0;width:var(--p,0%);border-radius:inherit;background:var(--g-accent);transition:width .5s var(--ios)}
.cfp-meter[data-level="done"] .cfp-meter-fill{background:color-mix(in srgb,var(--ok) 80%,var(--ink))}
.cfp-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.cfp-actions .b{flex:1 1 auto;min-width:0;justify-content:center}

/* the jump bar: pinned to the top of whatever scrolls the file (the docked panel's body, the sheet's body). The negative
   margins cancel the scroller's padding so it starts flush; top:0 is the scrollport's edge, where it then stays */
.cfp-nav{position:sticky;top:0;z-index:2;margin:-14px -16px 0;padding:8px 16px;background:var(--surface);
  border-bottom:1px solid var(--line);min-width:0}
.case-sheet .cfp-nav{margin-top:-4px}
.cfp-nav-list{display:flex;gap:6px;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
.cfp-nav-list::-webkit-scrollbar{display:none}
.cfp-tab{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:20px;white-space:nowrap;cursor:pointer;
  font:inherit;font-size:12.5px;font-weight:700;color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid var(--line)}
.cfp-tab[aria-current]{background:color-mix(in srgb,var(--accent-b) 22%,var(--surface));border-color:color-mix(in srgb,var(--accent-b) 60%,var(--line))}
.cfp-tab-n{min-width:20px;padding:0 6px;border-radius:10px;font-size:11px;text-align:center;font-variant-numeric:tabular-nums;
  background:color-mix(in srgb,var(--accent-b) 24%,transparent);color:var(--gold-text)}
.cfp-tab:focus-visible{outline:2px solid var(--accent-c);outline-offset:2px}
.cfp-sec[id]{scroll-margin-top:60px}
.cfp-h[tabindex]:focus-visible{outline:2px solid var(--accent-c);outline-offset:3px;border-radius:4px}

/* where each fact came from, at a glance (the words say it for everyone) */
.cfp-src-wrap[data-kind="user_answer"] .cfp-src{background:color-mix(in srgb,var(--ok) 16%,transparent);color:color-mix(in srgb,var(--ok) 60%,var(--ink))}
.cfp-src-wrap[data-kind="document"] .cfp-src{background:color-mix(in srgb,var(--accent-c) 16%,transparent)}
.cfp-fig-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}
.cfp-calc{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--muted);font-weight:700}

/* a fact's own history */
.cfp-fhist{grid-column:1/-1;display:grid;gap:6px;min-width:0}
.cfp-fhist>summary{display:inline-flex;align-items:center;gap:5px;min-height:32px;cursor:pointer;list-style:none;font-size:11.5px;font-weight:600;color:var(--muted);border-radius:8px}
.cfp-fhist>summary::-webkit-details-marker{display:none}
.cfp-fhist>summary .i{width:13px;height:13px}
.cfp-fhist-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.cfp-fhist-list li{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:12px;padding-inline-start:10px;border-inline-start:2px solid color-mix(in srgb,var(--accent-b) 40%,var(--line))}
.cfp-fhist-list .cfp-kind{font-weight:700}
.cfp-fhist-list .cfp-when{color:var(--muted)}
.cfp-fhist-l{flex-basis:100%;color:var(--muted);overflow-wrap:anywhere}

/* linked documents */
.cfp-doc{flex-direction:column;align-items:stretch;gap:6px}
.cfp-doc-line{display:flex;align-items:flex-start;gap:8px;min-width:0}
.cfp-doc-pages{font-size:11.5px;color:var(--muted)}
.cfp-doc-open{justify-self:start;align-self:flex-start}

/* a phone: the file is a full-screen sheet — its title stays at the top, the jump bar under it, the file scrolls */
@media (max-width:820px){
  dialog.sheet.case-sheet{height:100dvh;max-height:100dvh;border-radius:0;margin:0}
  .case-sheet .sheet-grab{display:none}
  .case-sheet .sheet-head{border-bottom:1px solid var(--line)}
}
@media (pointer:coarse){ .cfp-tab{min-height:44px} .cfp-fhist>summary{min-height:44px} }
@media (forced-colors:active){ .cfp-tab[aria-current]{forced-color-adjust:none;background:Highlight;color:HighlightText} .cfp-meter-bar{border:1px solid CanvasText} .cfp-meter-fill{background:CanvasText} }
@media (prefers-reduced-motion:reduce){ .cfp-meter-fill{transition:none} }

/* ═══ W1-1 engine fields and the document viewer's links (sprint wave 1) ═══ */
/* C2: what is left of the material facts, by name; a fact answered «لا أعرف» says so */
.cfp-meter-left{display:grid;gap:4px;min-width:0}
.cfp-meter-left .cfp-chips{margin:0}
.cfp-chip.declined{border-style:solid}
.cfp-chip .cfp-tag{margin-inline-start:6px;color:var(--ink-soft);background:color-mix(in srgb,var(--ink) 8%,transparent)}
/* B13: an adjacent right's meaning and the one thing to do */
.cfp-right{display:grid;gap:6px;margin-top:6px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--accent-c) 7%,transparent);min-width:0}
.cfp-meaning{margin:0;font-size:13.5px;line-height:1.75;color:var(--ink);overflow-wrap:anywhere}
.cfp-action{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:13px;line-height:1.7;color:var(--ink-soft);flex-wrap:wrap;min-width:0}
.cfp-action .i{width:15px;height:15px;flex:none;margin-top:3px;color:var(--ok)}
.cfp-action .cfp-k{display:inline;margin:0}
.cfp-action-t{flex:1 1 200px;min-width:0;overflow-wrap:anywhere}
/* B5: what would change a figure, and what it is computed from */
.cfp-changes-if{display:flex;align-items:flex-start;gap:6px;margin:4px 0 0;font-size:12.5px;line-height:1.65;color:var(--ink-soft);overflow-wrap:anywhere}
.cfp-changes-if .i{width:14px;height:14px;flex:none;margin-top:3px;color:var(--gold-text)}
.cfp-inputs dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;margin:0;font-size:13px;line-height:1.6}
.cfp-inputs dt{color:var(--ink-soft);min-width:0;overflow-wrap:anywhere}
.cfp-inputs dd{margin:0;color:var(--ink);font-weight:600;text-align:end;overflow-wrap:anywhere}
/* B6: the totals as one table — two columns, so it reads on a 320 px phone */
.cfp-scen-wrap{min-width:0;overflow-x:auto}
.cfp-scen-table{width:100%;border-collapse:collapse;font-size:13px}
.cfp-scen-table th,.cfp-scen-table td{padding:8px 6px;text-align:start;vertical-align:top;border-bottom:1px solid var(--line)}
.cfp-scen-h{font-size:11.5px;font-weight:700;color:var(--muted)}
.cfp-scen-hf,.cfp-scen-amt{text-align:end}
.cfp-scen-c{font-weight:400;min-width:0}
.cfp-scen-top{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
.cfp-scen-name{font-weight:700;color:var(--ink);overflow-wrap:anywhere;min-width:0}
.cfp-scen-amt{white-space:nowrap}
.cfp-scen-amt .cfp-fig{font-size:14px;white-space:normal}
.cfp-scen-row.pinned th,.cfp-scen-row.pinned td{background:color-mix(in srgb,var(--accent-c) 8%,transparent)}
.cfp-scen-row.pinned .cfp-scen-amt .cfp-fig{font-size:16px}
.cfp-scen-c .cfp-cond{margin-top:4px}
.cfp-scen-parts{margin-top:4px;font-size:12.5px}
.cfp-scen-parts summary{cursor:pointer;display:inline-flex;align-items:center;gap:4px;min-height:32px;color:var(--gold-text);font-weight:600}
.cfp-scen-parts ul{margin:0;padding-inline-start:16px;display:grid;gap:2px;color:var(--ink-soft)}
.cfp-scen-parts li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px}
.cfp-scen-pf{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.cfp-scen-src{margin:6px 0 0}
/* W3 PK-W3-1: «ص ٣» beside a document source, and the pages a document gave the file */
.cfp-src-wrap .dv-link{margin-inline-start:4px;flex:none}
.cfp-doc-go{display:flex;flex-wrap:wrap;gap:6px}
@media (pointer:coarse){ .cfp-page{min-height:32px} .cfp-scen-parts summary{min-height:44px} }
@media print{ .cf-print-root .cfp-scen-row.pinned th,.cf-print-root .cfp-scen-row.pinned td,.cf-print-root .cfp-right{background:none} }

/* «اطبع / احفظ PDF»: while html.cf-print is set, the paper shows only casefile.js's unfolded copy of the file
   (.cf-print-root, a direct child of <body>) — never the clipped app shell or the top-layer sheet around it */
.cf-print-root{display:none}
@media print{
  html.cf-print body>*:not(.cf-print-root){display:none}
  html.cf-print body{background:#fff}
  html.cf-print .cf-print-root{display:grid;gap:14px;padding:0;color:#000;background:#fff;font-size:12pt}
  .cf-print-title{margin:0;font-size:18pt}
  .cf-print-note{margin:12px 0 0;font-size:9pt;color:#444}
  .cf-print-root .cfp-body{display:grid;gap:14px}
  .cf-print-root .cfp-nav,.cf-print-root .cfp-actions,.cf-print-root button:not(.cfp-src),.cf-print-root .cfp-acts,.cf-print-root .fq-card,
  .cf-print-root .case-stale .b{display:none}
  .cf-print-root summary{list-style:none;font-weight:700}
  .cf-print-root summary::-webkit-details-marker{display:none}
  .cf-print-root .cfp-sec,.cf-print-root .cfp-ent,.cf-print-root .cfp-total,.cf-print-root .cfp-claim,.cf-print-root .cfp-fact{break-inside:avoid}
  .cf-print-root .cfp-src,.cf-print-root .cfp-pill{border:1px solid #999;background:none;color:#000}
  .cf-print-root .cfp-summary{background:none;border:1px solid #999}
  .cf-print-root .cfp-meter-bar{border:1px solid #000;background:none}
  .cf-print-root .cfp-meter-fill{background:#000;print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
/* ═══ PK-W2-2 + PK-CASE-TOOLS (W2 caseui) ═══ */
/* C1/C2: a fact left, or one a figure depends on, opens its card — a chip that is a button */
.cfp-chip.has-go{display:inline-flex;align-items:center;gap:6px;padding-inline-end:3px}
.cfp-chip-go{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;padding:0;border-radius:50%;cursor:pointer;color:var(--gold-text);
  background:color-mix(in srgb,var(--accent-a) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent-b) 45%,var(--line))}
.cfp-chip-go .i{width:13px;height:13px}
.cfp-chip-go:focus-visible{outline:2px solid var(--accent-c);outline-offset:2px}
.cfp-chip-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:3px 10px;border-radius:20px;font:inherit;font-size:12.5px;
  color:var(--ink-soft);background:transparent;border:1px dashed color-mix(in srgb,var(--accent-b) 50%,var(--line));cursor:pointer;text-align:start;overflow-wrap:anywhere}
.cfp-chip-btn .i{width:13px;height:13px;flex:none;color:var(--gold-text)}
.cfp-chip-btn:focus-visible,.cfp-go:focus-visible,.cfp-tool:focus-visible,.cfp-in-fix:focus-visible{outline:2px solid var(--accent-c);outline-offset:2px}
.cfp-chip.declined .cfp-tag,.cfp-go.declined .cfp-tag,.cfp-q.declined .cfp-tag{color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent)}
@media (hover:hover){.cfp-chip-btn:hover,.cfp-go:hover{border-style:solid;color:var(--ink)}}
.cfp-go-row{display:flex;flex-wrap:wrap;gap:6px}
.cfp-go{display:inline-flex;align-items:center;gap:6px;min-height:32px;max-width:100%;padding:3px 10px;border-radius:20px;font:inherit;font-size:12.5px;font-weight:600;
  color:var(--gold-text);background:color-mix(in srgb,var(--accent-a) 14%,transparent);border:1px dashed color-mix(in srgb,var(--accent-b) 55%,var(--line));cursor:pointer;text-align:start}
.cfp-go .i{width:13px;height:13px;flex:none}
.cfp-go-t{min-width:0;overflow-wrap:anywhere}
/* C1: the optional cards under the questions asked now */
.cfp-cards{display:grid;gap:8px;margin-top:4px}
.cfp-sub{margin:4px 0 0;font-size:13.5px;font-weight:800;color:var(--ink)}
.cfp-q-name{flex:1 1 100%;font-size:12.5px;color:var(--gold-text)}
.cfp-card-q{background:color-mix(in srgb,var(--accent-a) 6%,var(--surface))}
.cfp-q.declined{border-style:dashed}
.cfp-answer.cfp-know{border-color:color-mix(in srgb,var(--accent-c) 55%,var(--line))}
.cfp-chip-li{display:contents}
/* B5: the calculation table under a figure — the facts it is computed from, each corrected where it is read */
.cfp-in-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.5}
.cfp-in-table caption{text-align:start;caption-side:top;padding-bottom:2px}
.cfp-in-table th,.cfp-in-table td{padding:4px 2px;vertical-align:middle;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.cfp-in-l{font-weight:400;color:var(--ink-soft);text-align:start;min-width:0;overflow-wrap:anywhere}
.cfp-in-v{font-weight:700;color:var(--ink);text-align:end;overflow-wrap:anywhere}
.cfp-in-a{width:36px;text-align:end}
.cfp-in-fix{width:32px;height:32px}
/* B7: «الخطوات التالية» — a checklist */
.cfp-next-n{margin:0;font-size:12.5px;font-weight:700;color:var(--gold-text)}
.cfp-checklist{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.cfp-step{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface)}
.cfp-step[data-kind="deadline"]{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));background:color-mix(in srgb,var(--warn) 6%,var(--surface))}
.cfp-step[data-kind="lawyer"]{border-color:color-mix(in srgb,var(--accent-c) 45%,var(--line))}
.cfp-tick{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent-c);cursor:pointer}
.cfp-step-main{display:grid;gap:6px;min-width:0;flex:1}
.cfp-step-l{display:grid;gap:3px;cursor:pointer;min-width:0}
.cfp-step-kind{justify-self:start;font-size:11px;font-weight:700;padding:1px 8px;border-radius:20px;color:var(--ink-soft);background:color-mix(in srgb,var(--ink) 7%,transparent)}
.cfp-step[data-kind="deadline"] .cfp-step-kind{color:color-mix(in srgb,var(--warn) 45%,var(--ink));background:color-mix(in srgb,var(--warn) 18%,transparent)}
.cfp-step-t{font-size:13.5px;line-height:1.65;color:var(--ink);overflow-wrap:anywhere}
.cfp-step.done .cfp-step-t{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}
/* B3: «أدوات القضية» and «أعمال على هذه القضية» */
.cfp-toolbar{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}
.cfp-tool{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:56px;padding:10px;border-radius:var(--r-sm);font:inherit;text-align:start;cursor:pointer;
  color:var(--ink);background:var(--surface);border:1px solid var(--line)}
.cfp-tool .i{width:18px;height:18px;color:var(--gold-text)}
.cfp-tool-t{font-size:13px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.cfp-pending{font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:20px;color:color-mix(in srgb,var(--warn) 65%,var(--ink));background:color-mix(in srgb,var(--warn) 16%,transparent)}
@media (hover:hover){.cfp-tool:hover{border-color:color-mix(in srgb,var(--accent-b) 60%,var(--line))}}
.cfp-works{display:grid;gap:8px;margin-top:6px}
.cfp-works-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.cfp-work{display:grid;gap:6px;padding:10px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface)}
.cfp-work-t{font-size:13.5px;color:var(--ink)}
.cfp-work-meta{font-size:12px;color:var(--muted)}
.cfp-work-outs{margin:0;padding-inline-start:18px;font-size:12.5px;color:var(--ink-soft);display:grid;gap:2px}
.cfp-empty{margin:0;font-size:13px;color:var(--ink-soft);line-height:1.65}
/* E1/E2: the timeline and the evidence matrix inside the file (drawn by the legal-views builder) */
.cfp-lv-mount{min-width:0;overflow-x:auto}
.cfp-empty-box{display:grid;gap:4px;padding:12px;border-radius:var(--r-sm);border:1px dashed var(--line);background:color-mix(in srgb,var(--ink) 3%,transparent)}
@media (pointer:coarse){ .cfp-chip-go{width:40px;height:40px} .cfp-chip-btn,.cfp-go{min-height:44px} .cfp-in-fix{width:44px;height:44px} .cfp-tick{width:24px;height:24px} }
@media (max-width:360px){ .cfp-toolbar{grid-template-columns:1fr 1fr} .cfp-tool{padding:8px} }
@media print{
  .cf-print-root .cfp-tools-sec,.cf-print-root .cfp-lv .cfp-acts,.cf-print-root .cfp-go-row,.cf-print-root .cfp-in-a{display:none}
  .cf-print-root .cfp-step{break-inside:avoid}
}
/* B4: the case beside the work in Agent mode (E.caseFile.summaryFor) */
.cf-mini{display:grid;gap:10px;padding:12px;border-radius:var(--r);border:1px solid color-mix(in srgb,var(--accent-b) 30%,var(--line));background:var(--surface);min-width:0}
.cf-mini-head{display:flex;align-items:center;gap:8px}
.cf-mini-title{margin:0;font-size:15px;font-weight:800}
.cf-mini .cfp-sec{display:grid;gap:8px}
.cf-mini-open{justify-self:start}
/* Wave-2 merge: D6 under a fact, the wage's parts on a proposal, and the case's own timeline (dates, deadlines) */
.cfp-fact > .fq-verify{flex-basis:100%}
.cfp-fact > .cfp-x{flex-basis:100%;margin:0;min-width:0}
.cfp-sug-note{font-style:italic}
.cfp-parts{display:grid;gap:4px;min-width:0}
.cfp-parts-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.cfp-parts-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:13px;min-width:0;overflow-wrap:anywhere}
.cfp-parts-q{font-size:12px;color:var(--muted)}
.cfp-next > .cfp-pending{justify-self:start;align-self:flex-start}
.cfp-ent-report{justify-self:start;align-self:flex-start}
.cfp-tl{display:grid;gap:10px;min-width:0}
.cfp-tl-dates{margin:0;padding:0;list-style:none;display:grid;gap:6px;border-inline-start:2px solid color-mix(in srgb,var(--accent-c) 45%,var(--line));padding-inline-start:12px}
.cfp-tl-d{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;font-size:13.5px;overflow-wrap:anywhere}
.cfp-tl-d::before{content:"";position:absolute;inset-inline-start:-18px;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid color-mix(in srgb,var(--accent-c) 55%,var(--line))}
.cfp-tl-d.known::before{background:var(--accent-c);border-color:var(--accent-c)}
.cfp-tl-d .cfp-label{font-weight:700;color:var(--ink)}
.cfp-tl-d > .cfp-quote,.cfp-tl-d > .fq-verify{flex-basis:100%}
.cfp-tl-date{font-variant-numeric:tabular-nums;color:var(--ink-soft)}
.cfp-tl-unknown{font-size:12.5px;color:var(--muted)}
/* N20 caseflow (C2): the dates not given, folded into one quiet line that opens to their rows */
.cfp-tl-missing{min-width:0}
.cfp-tl-missing>summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;cursor:pointer;list-style:none;font-size:13px;font-weight:600;color:var(--muted);border-radius:8px}
.cfp-tl-missing>summary::-webkit-details-marker{display:none}
.cfp-tl-missing>summary .i{width:15px;height:15px;flex:none}
.cfp-tl-missing>summary:hover,.cfp-tl-missing[open]>summary{color:var(--gold-text)}
.cfp-tl-missing>summary:focus-visible{outline:2px solid var(--gold-text);outline-offset:2px}
.cfp-tl-missing-n{margin:0 0 8px}
html.hc .cfp-tl-missing>summary{color:var(--ink)}
.cfp-tl-service{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;font-size:13.5px}
.cfp-tl-service .cfp-k{display:inline;margin:0}
.cfp-tl-formula{flex-basis:100%;font-size:12px;color:var(--muted)}
.cfp-tl-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.cfp-dls{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.cfp-dl{display:grid;gap:6px;padding:10px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);min-width:0}
.cfp-dl[data-status="today"]{border-color:color-mix(in srgb,var(--danger,#b42318) 55%,var(--line))}
.cfp-dl[data-status="upcoming"]{border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}
.cfp-dl .cfp-name{margin:0;font-size:14px;font-weight:800}
.cfp-dl-when{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0;font-size:13.5px}
.cfp-dl-left{font-size:13px;color:var(--ink)}
.cfp-dl-scen{margin:0;padding:0;list-style:none;display:grid;gap:2px;font-size:13px}
.cfp-dl-scen li{display:flex;flex-wrap:wrap;gap:2px 8px}
.cfp-dl-basis{margin:0;font-size:12.5px;color:var(--ink-soft);overflow-wrap:anywhere}
.cfp-dl-basis .cfp-k{display:inline;margin-inline-end:6px}
.cfp-dl-more>summary{cursor:pointer;font-size:12.5px;color:var(--ink-soft)}
.cfp-dl-more ul{margin:4px 0 0;padding-inline-start:18px;font-size:12.5px;line-height:1.65;display:grid;gap:2px}
.cfp-dl > .cfp-pending{justify-self:start}
.cfp-lv-sub{margin-top:10px}
@media (pointer:coarse){ .cfp-dl-more>summary{min-height:44px;display:flex;align-items:center} }
@media (forced-colors:active){ .cfp-tl-d::before{forced-color-adjust:none;border-color:CanvasText} .cfp-tl-d.known::before{background:CanvasText} .cfp-dl{border:1px solid CanvasText} }
@media print{ .cf-print-root .cfp-dl{break-inside:avoid} }
/* E1 (W4 extras): the customer's own events on the timeline, «أضف حدثاً» and its form */
.cfp-ev.cfp-tl-d::before{background:var(--surface);border-style:dashed;border-color:var(--accent-c)}
.cfp-ev-src{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700;color:var(--ink);background:color-mix(in srgb,var(--accent-c) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent-c) 40%,var(--line))}
.cfp-ev-src svg{width:12px;height:12px}
.cfp-ev-note{flex-basis:100%;margin:0;font-size:12.5px;color:var(--ink-soft);white-space:pre-line}
.cfp-ev-acts{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cfp-ev-ask{flex-basis:100%;margin:0;font-size:13px;font-weight:700;color:var(--ink)}
.cfp-ev-err{flex-basis:100%;margin:0;font-size:12.5px;font-weight:700;color:color-mix(in srgb,var(--danger) 80%,var(--ink))}
.cfp-tl-mine-box{display:grid;gap:8px;min-width:0}
.cfp-tl-mine-box > .cfp-ev-add{justify-self:start}
.cfp-ev-form{flex-basis:100%;display:grid;gap:8px;min-width:0;padding:10px;border-radius:var(--r-sm);border:1px solid color-mix(in srgb,var(--accent-c) 40%,var(--line));background:var(--surface)}
.cfp-ev-new{display:grid;gap:6px;min-width:0}
.cfp-ev-new .cfp-name{margin:0;font-size:14px;font-weight:800}
.cfp-ev-field{display:grid;gap:4px;min-width:0}
.cfp-ev-field .input,.cfp-ev-field .textarea{width:100%;max-width:100%;box-sizing:border-box;min-height:44px}
.cfp-ev-form .cfp-acts .b{min-height:44px}
.cfp-ev-hijri{font-size:12.5px;color:var(--ink-soft)}
.cfp-ev-form [aria-invalid="true"]{border-color:var(--danger);outline:2px solid color-mix(in srgb,var(--danger) 45%,transparent)}
@media (forced-colors:active){ .cfp-ev.cfp-tl-d::before{background:Canvas;border-color:CanvasText} .cfp-ev-src{border:1px solid CanvasText} }
@media print{ .cfp-ev-acts,.cfp-tl-mine-box > .cfp-ev-add,.cfp-ev-form{display:none} }

/* Wave 5 (E1): «تعارض» on the timeline — two sides of one date, each with where it came from, and how to settle it */
.cfp-tl-conf{display:grid;gap:8px;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));background:color-mix(in srgb,var(--danger) 5%,var(--surface))}
.cfp-tl-conf-h{display:flex;align-items:center;gap:6px;margin:0}
.cfp-tl-conf-h .i{width:16px;height:16px;color:var(--danger)}
.cfp-conf-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.cfp-conf{display:grid;gap:8px;min-width:0;padding-top:8px;border-top:1px solid var(--line)}
.cfp-conf:first-child{padding-top:0;border-top:0}
.cfp-conf .cfp-top{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.cfp-conf .cfp-name{margin:0;font-size:13.5px;overflow-wrap:anywhere}
.cfp-conf-sides{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px}
.cfp-conf-side{display:grid;align-content:start;gap:6px;min-width:0;padding:8px 10px;border-radius:10px;background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere}
.cfp-conf-side[data-source="document"]{border-style:dashed}
.cfp-conf-who{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0}
.cfp-conf-who .cfp-k{margin:0}
.cfp-conf-side .cfp-tl-date{font-weight:700;color:var(--ink)}
.cfp-conf-side .cfp-src-wrap{justify-self:start}
.cfp-conf-pick,.cfp-conf-fix,.cfp-conf-say{justify-self:start;min-height:36px}
.cfp-conf-apart{margin:0}
.cfp-tl-d.has-conf .cfp-tl-date{color:var(--danger);font-weight:700}
.cfp-tl-d.has-conf::before{border-color:var(--danger);background:var(--danger)}

/* B8 (wave 5): the history by kind — chips with counts, one pressed at a time */
.cfp-hist-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.cfp-hist-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;cursor:pointer;border:1px solid transparent;font:inherit;font-size:12.5px}
.cfp-hist-chip[aria-pressed="true"]{color:var(--ink);border-color:color-mix(in srgb,var(--accent-c) 60%,var(--line));background:color-mix(in srgb,var(--accent-c) 16%,transparent);font-weight:700}
.cfp-hist-chip:focus-visible{outline:2px solid var(--accent-c);outline-offset:2px}
.cfp-chip-n{font-variant-numeric:tabular-nums;color:var(--muted)}
.cfp-hist-chip[aria-pressed="true"] .cfp-chip-n{color:inherit}
.cfp-hist-shown{margin:0 0 6px}

/* N20 (P2): the jump bar sticks flush under the panel's head — a sticky box stops at the scroller's padding edge, so its
   top is minus that padding (14px docked, 4px in the phone sheet) and no line of a section shows above it — and a strip
   wider than the panel fades at the edge it continues past (casefile.js toggles fade-start / fade-end). */
.case-panel .cfp-nav{top:-14px}
.case-sheet .cfp-nav{top:-4px;margin-inline:-22px;padding-inline:22px}
.cfp-nav-list{--fs:0px;--fe:0px;--fdir:right;
  -webkit-mask-image:linear-gradient(to var(--fdir),transparent,#000 var(--fs),#000 calc(100% - var(--fe)),transparent);
  mask-image:linear-gradient(to var(--fdir),transparent,#000 var(--fs),#000 calc(100% - var(--fe)),transparent)}
html[dir="rtl"] .cfp-nav-list{--fdir:left}
.cfp-nav-list.fade-start{--fs:24px}
.cfp-nav-list.fade-end{--fe:32px}
.cfp-nav-list > li{flex:none}
