/* ── roles：卡片上「這案的人」、這一案的人與角色小窗、角色管理小窗 ── */
.card-people:empty{display:none}
.card-people{padding:var(--sp-3) var(--sp-7);border-top:1px solid var(--line-2)}
.cp{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--sp-4);margin:0;font-size:var(--fs-sm);color:var(--ink-2)}
.cp-h{flex-basis:100%}
.cp-h{font-size:var(--fs-cap);color:var(--ink-3)}
.cp-p{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--sp-1);min-width:0}
.cp-name,.cp-role{background:none;border:0;padding:0;min-height:var(--tap);color:var(--ink);font-weight:700;font-size:var(--fs-sm);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;text-align:left}
.cp-role{font-weight:500;color:var(--people-ink)}
.cp-lv{display:inline-block;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);font-size:var(--fs-cap);line-height:1.6;color:var(--ink-2);white-space:nowrap}
.cp-lv.tbd{border-style:dashed;color:var(--ink-3)}
.cp-none{color:var(--ink-3);font-size:var(--fs-cap)}
.cp-edit{margin-left:0}
.rl-dlg{border:0;padding:0;border-radius:var(--r-lg);background:var(--bg);color:var(--ink);width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 48px);box-shadow:var(--shadow-lift)}
.rl-dlg::backdrop{background:var(--scrim)}
.rl-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:var(--sp-3);background:var(--side);color:#fff;padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-7)}
.rl-head h2{margin:0;flex:1;font-size:var(--fs-md);line-height:var(--lh-tight);overflow-wrap:anywhere}
.rl-x{background:none;border:0;color:#fff;font-size:24px;min-width:var(--tap);min-height:var(--tap)}
.rl-head :focus-visible{outline-color:#fff}
.rl-body{padding:var(--sp-6) var(--sp-7) var(--sp-7);display:grid;gap:var(--sp-5)}
.rl-hint,.rl-empty,.rl-rempty,.rl-nomb{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}
.rl-empty,.rl-rempty{color:var(--ink-3)}
.rl-add{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-3);align-items:end}
.rl-add label{display:grid;gap:var(--sp-1);font-size:var(--fs-cap);color:var(--ink-2);min-width:0}
.rl-add-note{grid-column:1 / -1}
.rl-add .btn{grid-column:1 / -1;justify-self:start}
.rl-dlg select,.rl-dlg input{width:100%;min-width:0;min-height:var(--tap);padding:var(--sp-2) var(--sp-4);border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-size:var(--fs-body)}
.rl-tools{margin:0;display:flex;flex-wrap:wrap;gap:var(--sp-5)}
.rl-list,.rl-roles,.rl-list ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3)}
.rl-person{display:grid;gap:var(--sp-2);padding:var(--sp-3) 0;border-top:1px solid var(--line)}
.rl-person>b{display:inline;margin-right:var(--sp-2)}
.rl-person>.cp-lv{justify-self:start}
.rl-link,.rl-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-3);align-items:center}
.rl-row{grid-template-columns:minmax(0,1fr) auto auto}
.rl-rn{font-weight:700;color:var(--people-ink);font-size:var(--fs-sm)}
.rl-use{font-size:var(--fs-cap);color:var(--ink-3);white-space:nowrap}
.rl-radd{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-3)}
.rl-status{margin:0;min-height:1.5em;font-size:var(--fs-cap);color:var(--ok-ink)}
.rl-status.bad{color:var(--bad-ink)}
@media (max-width:420px){.rl-link{grid-template-columns:minmax(0,1fr) auto}.rl-link .rl-note{grid-column:1 / -1;grid-row:2}.rl-body{padding:var(--sp-5)}}
