/* Legal Cases — the case Workflow tab and its pages (CGN Phase 4e part 2, from the CMS's custom.css "W4" block),
   in CGN's colours: the rail takes the sidebar's dark primary, the current phase the accent. */
.wf-rail { background: var(--kms-primary-dark, #1f4f4a); color: #e3ece9; border-radius: .5rem; padding: 1rem .9rem; }
.wf-rail a { color: #fff; }
.wf-rail .wf-meta { font-size: .78rem; color: #b9cdc8; }
.wf-rail .progress { height: .4rem; background: rgba(255,255,255,.15); }
.wf-rail .progress-bar { background: #4fc28f; }
.wf-phase { margin-top: .55rem; }
.wf-phase > .wf-phase-head { display: flex; align-items: center; gap: .45rem; font-weight: 600; font-size: .86rem;
  padding: .25rem .4rem; border-radius: .35rem; cursor: pointer; user-select: none; }
.wf-phase.current > .wf-phase-head { background: var(--kms-primary, #2a6b63); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
.wf-phase.done > .wf-phase-head { color: #c8f0dc; }
.wf-phase.upcoming > .wf-phase-head { color: #9fb6b0; }
.wf-phase.before > .wf-phase-head { color: #9fb6b0; background: repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 6px, transparent 6px 12px); }
.wf-stages { list-style: none; margin: .15rem 0 .2rem 1.35rem; padding: 0; font-size: .8rem; }
.wf-stages li { padding: .12rem .35rem; border-left: 2px solid rgba(255,255,255,.12); display: flex; gap: .35rem; align-items: baseline; }
.wf-stages li.current { color: #fff; font-weight: 700; border-left-color: #f2c46d; background: rgba(242,196,109,.14); }
.wf-stages li.done { color: #bfe9d3; border-left-color: #4fc28f; }
.wf-stages li.upcoming { color: #9fb6b0; }
.wf-stages li.before { color: #9fb6b0; font-style: italic;
  background: repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 5px, transparent 5px 10px); }
.wf-tree { list-style: none; padding-left: .8rem; margin: 0; font-size: .8rem; }
.wf-tree .wf-mini { height: .25rem; background: rgba(255,255,255,.15); border-radius: 1rem; overflow: hidden; }
.wf-tree .wf-mini > span { display: block; height: 100%; background: #f2c46d; }
.wf-tree .this { font-weight: 700; }
.wf-stay { background: #fff3cd; border: 1px solid #f0c36d; color: #6b4e00; }
.wf-action-blocked { opacity: .65; }
.dl-tone-overdue { color: #b02a37; font-weight: 600; }
.dl-tone-soon { color: #b02a37; }
.dl-tone-near { color: #a96b00; }
.dl-tone-later { color: #1f7a4c; }
.dl-tone-met, .dl-tone-waiting { color: #6c757d; }
.dl-dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; margin-right: .3rem; }
.dl-dot.overdue, .dl-dot.soon { background: #dc3545; }
.dl-dot.near { background: #f0ad4e; }
.dl-dot.later { background: #28a745; }
.dl-dot.met, .dl-dot.waiting { background: #adb5bd; }
.wf-verify-banner { background: #fff8e1; border: 1px solid #f0c36d; }
/* Legal Case AI Agents (part 4): results and drafts */
.draft-body { line-height: 1.6; }
.draft-body h1 { font-size: 1.4rem; } .draft-body h2 { font-size: 1.2rem; } .draft-body h3 { font-size: 1.05rem; }
.diff div { white-space: pre-wrap; padding: 0 .25rem; }
.diff-add { background: #e6ffed; color: #144620; }
.diff-del { background: #ffeef0; color: #86181d; text-decoration: line-through; }
.diff-same { color: #6c757d; }
