/* Case Management page. Loads after entity.css (shared windows, builder, questions, related cards) and platform.css. Prefixes: cmh- hero, cl- lifecycle, cw- workspace, q- queue, ho- handovers, edr-/er2-/dh- record, rl- roles. */
.eic--crit { background:#4a1f28; color:#ffb4ad; }

/* state, priority, risk, nature pills (readable on light and dark) */
.cms, .cmp, .cmr, .cmt { display:inline-block; font-style:normal; font-size:.75rem; font-weight:700; padding:3px 11px; border-radius:999px; white-space:nowrap; line-height:1.4; border:1px solid transparent; }
.cms--open { background:#e2e9ff; color:#2c3e88; border-color:#bccbf5; }
.cms--review { background:#fbefcf; color:#7a5300; border-color:#ecd28f; }
.cms--esc { background:#fde2cc; color:#8a3d05; border-color:#f4c19b; }
.cms--appr { background:#d9f4ea; color:#075c47; border-color:#a9e2cd; }
.cms--closed { background:#e4ebee; color:#41565f; border-color:#c5d2d8; }
.cmp--crit { background:#fde0e0; color:#8f1d1d; border-color:#f3b4b4; } .cmp--high { background:#fde2cc; color:#8a3d05; border-color:#f4c19b; } .cmp--med { background:#fbefcf; color:#7a5300; border-color:#ecd28f; } .cmp--low { background:#e4ebee; color:#41565f; border-color:#c5d2d8; }
.cmr { border-radius:4px; } .cmr--high { background:#fde0e0; color:#8f1d1d; } .cmr--med { background:#fbefcf; color:#7a5300; } .cmr--low { background:#d9f4ea; color:#075c47; }
.cmt { font-weight:650; border-radius:4px; font-size:.6875rem; padding:2px 8px; letter-spacing:.02em; }
.cmt--o { background:#d9f4ea; color:#075c47; } .cmt--i { background:#e2e9ff; color:#2c3e88; } .cmt--c { background:#fbefcf; color:#7a5300; } .cmt--a { background:#e4ebee; color:#41565f; }
.cw-av, .ho-av { display:inline-grid; place-items:center; width:30px; height:30px; flex:none; border-radius:50%; background:#12363f; border:1px solid #2b6b62; color:#7ee8c8; font:700 .6875rem ui-monospace,Consolas,monospace; margin-right:8px; vertical-align:middle; }
.cw-av--b { background:#1f3350; border-color:#3d5f93; color:#a9c4f5; } .cw-av--c { background:#3a2f16; border-color:#6b5420; color:#f2c777; } .cw-av--s { width:26px; height:26px; font-size:.625rem; }

/* ---------- hero ---------- */
.cmh-mesh { position:absolute; inset:0; pointer-events:none; opacity:.9; }
.cmh-mesh svg { display:block; width:100%; height:100%; } .cmh-mesh path { stroke:rgba(24,199,155,.2); } .cmh-mesh path.d { stroke-dasharray:4 12; }
.cmh-nodes circle { fill:#18c79b; filter:drop-shadow(0 0 6px rgba(24,199,155,.8)); animation:ei-blink 3.6s ease-in-out infinite; } .cmh-nodes circle:nth-child(even) { animation-delay:1.4s; }
.fu--case { font-size:.875rem; }
.cmh-body { padding:14px; display:grid; gap:12px; }
.cmh-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap; } .cmh-head small { display:block; color:#7ee8c8; font-size:.75rem; } .cmh-head b { display:block; color:#fff; font-size:1.125rem; letter-spacing:-.01em; line-height:1.3; max-width:34ch; }
.cmh-pills { display:flex; gap:6px; flex-wrap:wrap; }
.cmh-meta { margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; } .cmh-meta > div { padding:9px 11px; background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; min-width:0; }
.cmh-meta dt { color:#86a9ae; font-size:.6875rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:4px; } .cmh-meta dd { margin:0; color:#eaf4f2; font-size:.8125rem; line-height:1.3; } .cmh-av { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#1f3350; color:#a9c4f5; font:700 .5625rem ui-monospace,Consolas,monospace; margin-right:6px; }
.cmh-prog { padding:12px 14px; background:#10303f; border:1px solid #1f4557; border-radius:6px; } .cmh-prog-h { display:flex; justify-content:space-between; margin-bottom:10px; } .cmh-prog-h small { color:#8fb0b5; font-size:.6875rem; text-transform:uppercase; letter-spacing:.08em; } .cmh-prog-h span { color:#7ee8c8; font-size:.8125rem; font-weight:650; }
.cmh-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(7,1fr); position:relative; } .cmh-steps::before { content:''; position:absolute; left:7%; right:7%; top:6px; height:2px; background:#24485a; }
.cmh-steps li { margin:0; position:relative; display:grid; justify-items:center; gap:6px; text-align:center; } .cmh-steps i { width:14px; height:14px; border-radius:50%; background:#0c2230; border:2px solid #24485a; z-index:1; } .cmh-steps span { font-size:.6875rem; color:#8fb0b5; }
.cmh-steps .is-done i { background:#18c79b; border-color:#18c79b; } .cmh-steps .is-now i { background:#e0a92e; border-color:#e0a92e; box-shadow:0 0 0 4px rgba(224,169,46,.25); } .cmh-steps .is-now span { color:#f2c777; font-weight:650; } .cmh-steps .is-done span { color:#b7cccd; }
.cmh-cols { display:grid; grid-template-columns:1fr 1fr; gap:10px; } .cmh-box { background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; padding:10px 12px; min-width:0; }
.cmh-box-h { display:flex; justify-content:space-between; gap:8px; margin-bottom:8px; font-size:.6875rem; letter-spacing:.08em; text-transform:uppercase; color:#86a9ae; font-weight:650; } .cmh-box-h span:last-child { text-transform:none; letter-spacing:0; font-weight:500; }
.cmh-link, .cmh-act { list-style:none; margin:0; padding:0; display:grid; gap:8px; } .cmh-link li { margin:0; display:grid; grid-template-columns:18px auto 1fr; gap:8px; align-items:center; font-size:.8125rem; } .cmh-link svg { width:16px; height:16px; fill:none; stroke:#18c79b; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; } .cmh-link b { color:#fff; font-weight:600; } .cmh-link span { color:#8fb0b5; text-align:right; font-size:.75rem; }
.cmh-act li { margin:0; padding-left:10px; border-left:2px solid #3aa387; color:#dcebe8; font-size:.8125rem; line-height:1.35; } .cmh-act time { display:block; color:#8fb0b5; font-size:.6875rem; }

/* ---------- 1. lifecycle ---------- */
.cl { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:0; position:relative; counter-reset:none; }
.cl::before { content:''; position:absolute; left:7%; right:7%; top:36px; border-top:3px solid #d3e6de; z-index:0; }
.cl-s { margin:0; position:relative; z-index:1; display:grid; justify-items:center; align-content:start; gap:8px; text-align:center; padding:0 8px; }
.cl-i { display:grid; place-items:center; width:72px; height:72px; border-radius:50%; background:#0a2a36; color:#18c79b; box-shadow:0 0 0 7px #fff,0 0 0 8px #d3e6de; } .cl-i svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.cl-n { position:absolute; top:-8px; left:calc(50% + 22px); z-index:2; width:26px; height:26px; border-radius:50%; background:var(--em); color:#fff; font:700 .8125rem ui-monospace,Consolas,monospace; display:grid; place-items:center; box-shadow:0 0 0 3px #fff; }
.cl-s h3 { margin:10px 0 0; font-size:1.0625rem; line-height:1.25; letter-spacing:-.01em; } .cl-s p { margin:0; font-size:.9375rem; line-height:1.45; color:var(--mute); }
.cl-s .cms { margin-top:4px; }
.cl-s--open .cl-i { box-shadow:0 0 0 7px #fff,0 0 0 9px #7c98e6; } .cl-s--review .cl-i { box-shadow:0 0 0 7px #fff,0 0 0 9px #e0a92e; } .cl-s--esc .cl-i { box-shadow:0 0 0 7px #fff,0 0 0 9px #f08a3c; } .cl-s--appr .cl-i { box-shadow:0 0 0 7px #fff,0 0 0 9px #18c79b; } .cl-s--closed .cl-i { box-shadow:0 0 0 7px #fff,0 0 0 9px #8fa3ab; }
.cl-key { list-style:none; display:flex; flex-wrap:wrap; gap:10px 26px; margin:34px 0 0; padding:14px 18px; background:var(--mint-l); border:1px solid #d3e6de; border-radius:8px; } .cl-key li { margin:0; display:flex; align-items:center; gap:10px; font-size:.9375rem; color:var(--mute); }
.fp-content .cl-key { margin-top:34px; }

/* ---------- 2. workspace ---------- */
.cw-win { max-width:100%; }
.cw-top { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; padding:16px 20px; background:#0a1c28; border-bottom:1px solid #1d4254; } .cw-top small { color:#7ee8c8; font-size:.8125rem; } .cw-top h3 { margin:2px 0 0; color:#fff; font-size:1.375rem; letter-spacing:-.02em; }
.cw-top-p { display:flex; align-items:center; gap:8px; flex-wrap:wrap; } .cw-own { display:inline-flex; align-items:center; color:#dcebe8; font-size:.875rem; margin-left:8px; }
.cw-tabs { display:flex; flex-wrap:wrap; gap:2px; padding:0 14px; background:#0b2130; border-bottom:1px solid #1d4254; }
.cw-tabs button { all:unset; box-sizing:border-box; padding:13px 16px; font-size:.9375rem; font-weight:600; color:#9fbfc4; cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-1px; } .cw-tabs button:hover { color:#fff; } .cw-tabs button[aria-selected="true"] { color:#7ee8c8; border-bottom-color:#18c79b; } .cw-tabs button:focus-visible { outline:2px solid #fff; outline-offset:-2px; }
.cw-body { padding:22px; min-height:340px; } .cw-panel[hidden] { display:none; }
.cw-ov { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.cw-blk { padding:16px 18px; background:#0a1c28; border:1px solid #1b3d4e; border-radius:8px; } .cw-blk small, .cw-blk--dark small { display:block; font-size:.6875rem; text-transform:uppercase; letter-spacing:.1em; color:#86a9ae; font-weight:650; margin-bottom:8px; } .cw-blk p { margin:0!important; color:#dcebe8!important; font-size:.9375rem!important; line-height:1.55!important; }
.cw-ov > .cw-blk:first-child { grid-column:1; } .cw-kv { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; } .cw-kv > div { padding:10px 12px; background:#0a1c28; border:1px solid #1b3d4e; border-radius:6px; } .cw-kv dt { color:#86a9ae; font-size:.6875rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; } .cw-kv dd { margin:0; color:#fff; font-size:.9375rem; }
.cw-refs { list-style:none; margin:0; padding:0; display:grid; gap:8px; } .cw-refs li { margin:0; display:grid; grid-template-columns:32px auto 1fr auto; gap:10px; align-items:center; font-size:.875rem; color:#b7cccd; } .cw-refs b { color:#fff; font-weight:600; }
.cw-ic { display:grid; place-items:center; width:32px; height:32px; border-radius:7px; background:#12363f; color:#18c79b; } .cw-ic--w { background:#3a2f16; color:#f2c777; } .cw-ic svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cw-tab { font-size:.9375rem; } .cw-tab td { white-space:normal; padding:13px 12px; } .cw-tab td b { display:block; color:#fff; font-weight:600; } .cw-tab td small { color:#8fb0b5; font-size:.75rem; }
.cw-cap { margin:16px 0 0!important; color:#b7cccd!important; font-size:.875rem!important; line-height:1.5!important; }
.cw-tasks { list-style:none; margin:0; padding:0; display:grid; gap:10px; } .cw-tasks li { margin:0; display:grid; grid-template-columns:32px 1fr auto; gap:14px; align-items:center; padding:14px 16px; background:#0a1c28; border:1px solid #1b3d4e; border-radius:8px; } .cw-tasks b { display:block; color:#fff; font-size:1rem; font-weight:600; } .cw-tasks small { color:#8fb0b5; font-size:.8125rem; } .cw-tasks .m { color:#b7cccd; font-size:.8125rem; }
.cw-tasks .is-done b { color:#b7cccd; text-decoration:line-through; text-decoration-color:#3aa387; }
.cw-ck { display:grid; place-items:center; width:28px; height:28px; border-radius:6px; background:#123f3a; color:#7ee8c8; } .cw-ck svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; } .cw-ck--o { background:transparent; border:2px solid #3a6b7c; }
.cw-notes { list-style:none; margin:0; padding:0; display:grid; gap:12px; } .cw-notes li { margin:0; display:grid; grid-template-columns:34px 1fr; gap:12px; padding:14px 16px; background:#0a1c28; border:1px solid #1b3d4e; border-radius:8px; } .cw-notes .cw-av { margin:0; width:34px; height:34px; } .cw-notes b { color:#fff; font-size:.9375rem; } .cw-notes time { color:#8fb0b5; font-size:.75rem; margin-left:8px; font-weight:400; } .cw-notes p { margin:4px 0 8px!important; color:#dcebe8!important; font-size:.9375rem!important; line-height:1.55!important; }
.cw-dec { display:grid; gap:14px; } .cw-blk--dark { background:#062832; border-color:#2a6b62; } .cw-blk--dark small { color:#6fd6b4; }
.cw-aud { list-style:none; margin:0; padding:0 0 0 18px; border-left:2px dashed #2f6b74; display:grid; gap:14px; } .cw-aud li { margin:0; position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; color:#eaf4f2; font-size:.9375rem; } .cw-aud li::before { content:''; position:absolute; left:-25px; top:7px; width:10px; height:10px; border-radius:50%; background:#18c79b; box-shadow:0 0 0 3px #0c2230; } .cw-aud time { color:#7ee8c8; font-size:.8125rem; min-width:130px; }

/* ---------- 3. queue ---------- */
.q-filters { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px 18px; padding:18px 20px; background:#fff; border:1px solid #d3e6de; border-radius:10px 10px 0 0; }
.q-g small { display:block; margin-bottom:8px; font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; color:var(--em); font-weight:650; } .q-g > div { display:flex; flex-wrap:wrap; gap:6px; }
.q .es-chip { background:#fff; border-color:#c7ddd4; color:var(--ink); font-size:.875rem; padding:5px 12px; } .q .es-chip:hover { border-color:#0a7d62; } .q .es-chip.on { background:#0a7d62; border-color:#0a7d62; color:#fff; font-weight:600; } .q .es-chip:focus-visible, .q-clear:focus-visible { outline:2px solid var(--em); outline-offset:2px; }
.q-bar { display:flex; justify-content:space-between; align-items:center; padding:10px 20px; background:var(--mint-l); border:1px solid #d3e6de; border-top:0; font-size:.9375rem; font-weight:600; } .q-clear { all:unset; cursor:pointer; color:var(--em); font-size:.875rem; text-decoration:underline; }
.q-scroll { overflow-x:auto; background:#fff; border:1px solid #d3e6de; border-top:0; border-radius:0 0 10px 10px; }
.q-tab { width:100%; border-collapse:collapse; min-width:1040px; font-size:.9375rem; } .q-tab th { text-align:left; padding:12px 14px; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; color:var(--mute); background:#f6faf8; border-bottom:1px solid #d3e6de; white-space:nowrap; }
.q-tab td { padding:14px; border-bottom:1px solid #e8f0ed; vertical-align:middle; color:var(--ink); } .q-tab tr:last-child td { border-bottom:0; } .q-tab tbody tr:hover { background:#f6faf8; } .q-tab td small { display:block; margin-top:3px; color:var(--mute); font-size:.75rem; } .q-tab td .cw-av { color:#7ee8c8; }
.q-tab .m { font-size:.875rem; } .q-r[hidden] { display:none; }
.q-age { display:block; width:96px; height:6px; border-radius:3px; background:#e3ece8; overflow:hidden; } .q-age i { display:block; height:100%; border-radius:3px; } .q-age--ok i { background:#18c79b; } .q-age--aging i { background:#e0a92e; } .q-age--over i { background:#e5484d; }
.q-empty { margin:16px 0 0!important; color:#7a5300!important; } .q-note { display:flex; gap:12px; margin:16px 0 0!important; padding:14px 18px; background:#fff6e0; border:1px solid #e6c56f; border-left:4px solid #e0a92e; border-radius:8px; font-size:.9375rem!important; line-height:1.5!important; color:#4a3810!important; } .q-note svg { flex:none; width:22px; height:22px; fill:none; stroke:#9a6b00; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* ---------- 4. handovers ---------- */
.ho { display:grid; grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto; gap:0; align-items:stretch; }
.ho-in, .ho-out { display:flex; align-items:center; } .ho-in span, .ho-out span { display:flex; flex-direction:column; align-items:center; gap:6px; padding:8px 10px; font-size:.8125rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--em); } .ho-in svg, .ho-out svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ho-p { background:#fff; border:1px solid #d3e6de; border-top:4px solid #7c98e6; border-radius:10px; padding:20px; display:grid; gap:8px; align-content:start; justify-items:start; box-shadow:0 22px 40px -34px rgba(0,80,70,.5); }
.ho-p--review { border-top-color:#e0a92e; } .ho-p--esc { border-top-color:#f08a3c; } .ho-p--appr { border-top-color:#18c79b; }
.ho-av { width:44px; height:44px; font-size:.8125rem; margin:0; } .ho-p h3 { margin:2px 0 0; font-size:1.1875rem; } .ho-p p { margin:0; font-size:.9375rem; line-height:1.5; color:var(--mute); } .ho-p time { font-size:.8125rem; color:var(--mute); }
.ho-pk { list-style:none; margin:6px 0 0; padding:10px 0 0; border-top:1px dashed #cfe0d8; display:flex; flex-wrap:wrap; gap:5px; } .ho-pk li { margin:0; font-size:.75rem; font-weight:600; padding:2px 8px; border-radius:4px; background:var(--mint); color:#075c47; }
.ho-pk li::before { content:'\2713 '; }
.ho-a { display:grid; align-content:center; justify-items:center; gap:6px; padding:0 8px; min-width:92px; } .ho-a span { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--ink); text-align:center; } .ho-a i { display:block; width:100%; height:2px; background:repeating-linear-gradient(90deg,#7fbfa9 0 7px,transparent 7px 12px); position:relative; } .ho-a i::after { content:''; position:absolute; right:-2px; top:-4px; border:5px solid transparent; border-left:8px solid #7fbfa9; border-right:0; }
.ho-re { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:center; margin-top:30px; padding:28px; background:var(--mint-l); border:1px solid #d3e6de; border-radius:12px; } .ho-re small { font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--em); font-weight:650; } .ho-re h3 { margin:6px 0 10px; font-size:1.5rem; letter-spacing:-.02em; line-height:1.2; } .ho-re p { margin:0; font-size:1.0625rem; line-height:1.55; color:var(--mute); }
.ho-rec { background:#0a2028; border-radius:10px; padding:20px; color:#dcebe8; } .ho-rec-h { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; } .ho-rec-h small { color:#6fd6b4; } .ho-rec dl { margin:0; } .ho-rec dl div { display:flex; justify-content:space-between; gap:14px; padding:8px 0; border-bottom:1px solid #16394a; } .ho-rec dt { color:#8fb0b5; font-size:.875rem; } .ho-rec dd { margin:0; color:#fff; text-align:right; font-size:.875rem; }
.fp-content .ho-re { margin-top:30px; }

/* ---------- 5. evidence and decision ---------- */
.edr { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:20px; align-items:start; }
.edr-l, .edr-r { background:#0c2230; border:1px solid #1d4254; border-radius:12px; padding:22px; } .edr-r { position:sticky; top:96px; }
.edr-h { display:flex; justify-content:space-between; gap:10px; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid #1d4254; } .edr-h small { font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:#6fd6b4; font-weight:650; } .edr-h span { color:#8fb0b5; font-size:.8125rem; }
.er2 { list-style:none; margin:0; padding:0; display:grid; } .er2 li { margin:0; display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:14px; align-items:center; padding:12px 0; border-bottom:1px solid #16394a; } .er2 li:last-child { border:0; }
.er2-i { display:grid; place-items:center; width:40px; height:40px; border-radius:8px; background:#12363f; color:#18c79b; } .er2-i svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.er2 b { display:block; color:#fff; font-size:1rem; font-weight:600; } .er2 small { color:#8fb0b5; font-size:.8125rem; } .er2-r { display:grid; justify-items:end; gap:4px; } .er2-r time { color:#8fb0b5; font-size:.75rem; }
.dh { list-style:none; margin:0; padding:0 0 0 20px; border-left:2px dashed #2f6b74; display:grid; gap:16px; } .dh li { margin:0; position:relative; display:grid; grid-template-columns:52px 1fr; gap:12px; } .dh li::before { content:''; position:absolute; left:-27px; top:6px; width:12px; height:12px; border-radius:50%; background:#18c79b; box-shadow:0 0 0 3px #0c2230; }
.dh time { color:#7ee8c8; font-size:.8125rem; padding-top:2px; } .dh b { display:block; color:#fff; font-size:1rem; } .dh p { margin:2px 0 6px!important; color:#b7cccd!important; font-size:.875rem!important; line-height:1.5!important; }
.edr-fin { margin-top:20px; padding:16px 18px; background:#062832; border:1px solid #2a6b62; border-left:4px solid #18c79b; border-radius:8px; } .edr-fin small { font-size:.6875rem; text-transform:uppercase; letter-spacing:.1em; color:#6fd6b4; font-weight:650; } .edr-fin b { display:block; margin:4px 0; color:#fff; font-size:1.125rem; } .edr-fin p { margin:0!important; color:#b7cccd!important; font-size:.875rem!important; line-height:1.5!important; }

/* ---------- 6. roles ---------- */
.rl-scroll { overflow-x:auto; background:#fff; border:1px solid #d3e6de; border-radius:12px; box-shadow:0 26px 50px -40px rgba(6,40,50,.5); }
.rl { width:100%; border-collapse:collapse; min-width:760px; }
.rl thead th { padding:16px 12px; font-size:.8125rem; text-transform:uppercase; letter-spacing:.08em; color:#fff; background:#0a2a36; text-align:center; font-weight:650; } .rl thead th:first-child { text-align:left; padding-left:24px; }
.rl tbody th { text-align:left; padding:16px 12px 16px 24px; font-weight:400; width:34%; } .rl tbody th b { display:block; font-size:1.0625rem; color:var(--ink); } .rl tbody th small { color:var(--mute); font-size:.875rem; line-height:1.4; }
.rl td { text-align:center; padding:12px; } .rl tbody tr { border-bottom:1px solid #e8f0ed; } .rl tbody tr:last-child { border-bottom:0; } .rl tbody tr:hover { background:#f6faf8; }
.rl-d { display:inline-block; width:22px; height:22px; border-radius:50%; vertical-align:middle; } .rl-d--full { background:#0a7d62; box-shadow:0 0 0 3px #d9f4ea; } .rl-d--part { background:linear-gradient(90deg,#0a7d62 50%,#fff 50%); border:2px solid #0a7d62; } .rl-d--none { border:2px solid #cbd7d3; background:#fff; }
.rl-foot { display:grid; gap:14px; margin-top:16px; } .rl-key { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px 26px; } .rl-key li { margin:0; display:flex; align-items:center; gap:10px; font-size:.9375rem; color:var(--mute); }
.fp-content .rl-foot .q-note { margin-top:0!important; }

.fp-content .q-note, .fp-content .cw-cap { margin-block-start:16px; }

@media (max-width:1280px) {
	.ho { grid-template-columns:1fr 1fr; gap:16px; } .ho-in, .ho-out { grid-column:1 / -1; justify-content:flex-start; } .ho-in span, .ho-out span { flex-direction:row; padding:0; } .ho-a { min-width:0; grid-column:1 / -1; padding:0; }
	.ho-a i { width:2px; height:20px; background:repeating-linear-gradient(180deg,#7fbfa9 0 5px,transparent 5px 9px); margin-left:24px; } .ho-a i::after { display:none; } .ho-a { justify-items:start; grid-auto-flow:column; align-items:center; justify-content:start; gap:12px; }
	.ho-a { grid-column:1 / -1; display:flex; }
}
@media (max-width:1180px) {
	.cl { grid-template-columns:repeat(4,minmax(0,1fr)); row-gap:32px; } .cl::before { display:none; }
	.q-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.edr { grid-template-columns:1fr; } .edr-r { position:static; }
	.cw-ov { grid-template-columns:1fr; }
}
@media (max-width:1024px) { .cmh-meta { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:768px) {
	.cl { grid-template-columns:1fr 1fr; } .cl-s { padding:0 4px; }
	.cmh-cols { grid-template-columns:1fr; } .cmh-steps span { font-size:.5625rem; }
	.q-filters { grid-template-columns:1fr; } .ho { grid-template-columns:1fr; } .ho-re { grid-template-columns:1fr; padding:18px; }
	.cw-kv { grid-template-columns:1fr; } .cw-body { padding:14px; } .cw-tabs { overflow-x:auto; flex-wrap:nowrap; } .cw-tabs button { white-space:nowrap; }
	.cw-refs li { grid-template-columns:32px 1fr; } .cw-refs li > *:nth-child(n+3) { grid-column:2; justify-self:start; }
	.cw-tab th:nth-child(4), .cw-tab td:nth-child(4), .cw-tab th:nth-child(3), .cw-tab td:nth-child(3) { display:none; }
	.er2 li { grid-template-columns:40px 1fr; } .er2-r { grid-column:2; justify-items:start; } .dh li { grid-template-columns:1fr; gap:2px; }
	.cw-tasks li { grid-template-columns:32px 1fr; } .cw-tasks li .m { grid-column:2; } .cw-aud time { min-width:0; }
}
@media (max-width:480px) { .cl { grid-template-columns:1fr; } .cl-s { grid-template-columns:72px 1fr; justify-items:start; text-align:left; gap:2px 16px; } .cl-i { grid-row:1 / span 4; } .cl-s h3 { margin-top:4px; } .cl-n { left:56px; } .cmh-meta { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .cmh-nodes circle { animation:none; } }
.ho { grid-template-columns:72px repeat(3,minmax(0,1fr) 92px) minmax(0,1fr) 84px; }
.ho-a span { font-size:.6875rem; } .ho-pk li::before { content:'\2713\00a0'; }

.cl-s { grid-template-rows:auto auto 1fr auto; } .cl-s > .cl-n { grid-row:auto; }
.ho-p .cms { margin:2px 0; }
.ho { grid-template-columns:106px repeat(3,minmax(0,1fr) 92px) minmax(0,1fr) 106px; }
.ho-in span, .ho-out span { font-size:.75rem; letter-spacing:.03em; }
@media (max-width:1280px) { .ho { grid-template-columns:1fr 1fr; } }
@media (max-width:768px) { .ho { grid-template-columns:1fr; } }
@media (max-width:768px) { .cmh-meta, .cw-kv { grid-template-columns:1fr 1fr; } .cmh-meta dd, .cw-kv dd { font-size:.8125rem; } }
