/* Shared styles for the RiverSync process-workflow document set
   (master + eight drill-downs). Layered on top of ../prd/prd-doc.css.
   Self-contained: defines the canonical surface pills (type-2 app badges)
   with the mandated hues, so these paper docs need no rs-shell.js. */

/* ---- canonical surface pills (badge type 2) — hue per app -------------- */
.rs-adminpill{display:inline-block; font-size:10px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; padding:2px 8px; border-radius:999px; text-decoration:none;
  color:#5F4F92; background:#EFECF6; border:1px solid #D6CCE9; white-space:nowrap; line-height:1.5;}
a.rs-adminpill:hover{filter:brightness(.97);}
.rs-accountpill{color:#5A6670; background:#F1F4F7; border-color:#D7DEE4;}
.rs-hubpill{color:#0B86B8; background:#E2F3FB; border-color:#BCE4F4;}
.rs-partnerspill{color:#2C7A6B; background:#E6F1EE; border-color:#BCDDD4;}
.rs-opspill{color:#8F6710; background:#FBF1DC; border-color:#EAD3A2;}

/* ---- lane chips (actor tones) ----------------------------------------- */
.wf-lanechip{display:inline-block; font-size:9.5px; font-weight:700; letter-spacing:.03em;
  padding:1px 7px; border-radius:999px; border:1px solid; white-space:nowrap; vertical-align:1px;}
.wf-lanechip--blue{color:#2C638F; background:#E8F1F8; border-color:#C9DDEE;}
.wf-lanechip--purple{color:#5F4F92; background:#EFECF6; border-color:#D8D0E8;}
.wf-lanechip--teal{color:#3E6875; background:#E9F1F4; border-color:#C7DDE2;}
.wf-lanechip--green{color:#33713A; background:#EAF3EB; border-color:#C8E2CA;}
.wf-lanechip--ochre{color:#7E6217; background:#F8F1DC; border-color:#EBD9A4;}
.wf-lanechip--red{color:#933A3E; background:#F8ECEC; border-color:#EBC8CA;}
.wf-lanechip--slate{color:#525E69; background:#EFF2F5; border-color:#D7DEE4;}

/* ---- the swimlane figure ---------------------------------------------- */
.wf-flow{margin:14px 0 6px; break-inside:avoid;}
.wf-flow svg{display:block; width:100%; height:auto;}
.wf-cap{font-size:11px; color:var(--ink-3); margin:8px 0 0; display:flex;
  justify-content:space-between; gap:16px;}
.wf-cap .mono{font-size:9.5px; white-space:nowrap;}

/* node-kind legend */
.wf-legend{display:flex; flex-wrap:wrap; gap:6px 16px; margin:12px 0 2px; align-items:center;}
.wf-legend__i{display:flex; align-items:center; gap:6px; font-size:11px; color:var(--ink-2);}
.wf-node{width:22px; height:13px; flex:none; border:1px solid #CBD4DC; background:#fff; border-radius:3px;
  position:relative;}
.wf-node--action::before{content:""; position:absolute; left:0; top:0; bottom:0; width:2.5px; background:#3679AC;}
.wf-node--start,.wf-node--terminal{border-radius:999px;}
.wf-node--start{background:#EEF4F9; border-color:#3679AC;}
.wf-node--terminal{background:#EAF3EB; border-color:#3F8A45;}
.wf-node--event{background:#F1F4F7; border-color:#B6C0CA;}
.wf-node--wait{border-style:dashed;}
.wf-node--decision{width:14px; height:14px; transform:rotate(45deg); background:#F8F1DC; border-color:#9C7A1E;
  border-radius:2px;}
.wf-edge{width:22px; height:0; border-top:1.5px dashed #A8B4BF; flex:none;}

/* ---- meta block ------------------------------------------------------- */
.wf-meta{border:1px solid var(--hairline); border-radius:3px; overflow:hidden; margin:14px 0 4px;}
.wf-meta__row{display:flex; gap:14px; padding:9px 14px; border-bottom:1px solid var(--hairline);
  align-items:baseline;}
.wf-meta__row:last-child{border-bottom:0;}
.wf-meta__k{flex:none; width:78px; font-size:10px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--ink-3); padding-top:1px;}
.wf-meta__v{font-size:13px; color:var(--ink-2); text-wrap:pretty;}
.wf-meta__chips{display:flex; gap:6px; flex-wrap:wrap;}

/* ---- step table ------------------------------------------------------- */
.wf-steps{width:100%; border-collapse:collapse; font-size:12px; margin:10px 0 4px;}
.wf-steps th{text-align:left; font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-3); padding:6px 10px 6px 0; border-bottom:1px solid var(--hairline-strong);}
.wf-steps td{padding:9px 10px 9px 0; border-bottom:1px solid var(--hairline); vertical-align:top;}
.wf-steps tr:last-child td{border-bottom:0;}
.wf-steps__n{width:18px; color:var(--ink-3); font-size:10.5px;}
.wf-steps th:first-child{width:18px;}
.wf-steps__t{white-space:nowrap;}
.wf-steps__t b{font-weight:600;}
.wf-steps__d{color:var(--ink-2); min-width:170px;}
.wf-steps__r{white-space:normal; width:1%;}
.wf-evk{font-family:var(--rs-font-mono, ui-monospace, monospace); font-size:10px; font-weight:600;
  color:#525E69; background:#F1F4F7; border:1px solid #DCE3E9; border-radius:2px; padding:1px 5px; white-space:nowrap;}
.wf-dim{color:#C3CCD4;}

/* kind tags */
.wf-kind{display:inline-block; font-size:8px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:1px 5px; border-radius:2px; border:1px solid; margin-right:5px; vertical-align:1px;}
.wf-kind--start{color:#2C638F; background:#E8F1F8; border-color:#C9DDEE;}
.wf-kind--action{color:#525E69; background:#F1F4F7; border-color:#D7DEE4;}
.wf-kind--event{color:#5A6670; background:#EEF1F4; border-color:#CFD7DE;}
.wf-kind--decision{color:#7E6217; background:#F8F1DC; border-color:#EBD9A4;}
.wf-kind--wait{color:#7E6217; background:#FBF6E8; border-color:#EBDCB0;}
.wf-kind--terminal{color:#33713A; background:#EAF3EB; border-color:#C8E2CA;}

/* ---- id / reference chips --------------------------------------------- */
.wf-id{display:inline-block; font-family:var(--rs-font-mono, ui-monospace, monospace); font-size:10px;
  font-weight:600; letter-spacing:.02em; text-decoration:none; color:var(--accent); white-space:nowrap;
  background:var(--accent-soft); border:1px solid #C9DDEE; border-radius:2px; padding:1px 6px;}
a.wf-id:hover{border-color:var(--accent);}
.wf-id--ev{color:#525E69; background:#F1F4F7; border-color:#D7DEE4;}
.wf-id--svc{color:#3E6875; background:#E9F1F4; border-color:#C7DDE2;}
.wf-id--ent{color:#5F4F92; background:#EFECF6; border-color:#D8D0E8;}

.wf-refs{display:flex; flex-direction:column; gap:8px; margin:12px 0 4px;}
.wf-refg{display:flex; gap:14px; align-items:baseline;}
.wf-refg__k{flex:none; width:108px; font-size:10px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--ink-3); padding-top:2px;}
.wf-refg__v{display:flex; gap:5px; flex-wrap:wrap;}

/* ---- master: actor legend --------------------------------------------- */
.wf-actors{display:grid; grid-template-columns:repeat(2, 1fr); gap:10px 18px; margin:12px 0 4px;}
.wf-actor{display:flex; gap:10px; align-items:flex-start; break-inside:avoid;}
.wf-actor__sw{flex:none; width:16px; height:16px; border-radius:3px; border:1.5px solid; margin-top:1px;}
.wf-actor b{font-size:12.5px;}
.wf-actor__kind{font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  color:var(--ink-3); border:1px solid var(--hairline-strong); border-radius:2px; padding:0 4px; vertical-align:1.5px;}
.wf-actor p{margin:2px 0 0; font-size:11.5px; color:var(--ink-2); line-height:1.5;}

/* ---- master: index & matrix ------------------------------------------- */
.wf-index td{vertical-align:top;}
.wf-index td.mono{white-space:nowrap;}
.wf-io{display:flex; flex-direction:column; gap:3px; font-size:11.5px; color:var(--ink-2);}
.wf-io b{font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3);
  margin-right:5px;}
.matrix{width:100%; border-collapse:collapse; font-size:12.5px; margin:12px 0 4px;}
.matrix th{text-align:center; font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  color:var(--ink-3); padding:6px 8px; border-bottom:1px solid var(--hairline-strong);}
.matrix th:first-child{text-align:left;}
.matrix td{padding:8px; border-bottom:1px solid var(--hairline); text-align:center; vertical-align:middle;}
.matrix td:first-child{text-align:left;}
.matrix td.mono{color:var(--accent); font-weight:700;}
.matrix td.dim{color:#C3CCD4; font-weight:400;}
.wf-land{margin:14px 0 6px; break-inside:avoid;}
.wf-land svg{display:block; width:100%; height:auto;}
.wf-land a{cursor:pointer;}
.wf-land a:hover rect:first-of-type{stroke:var(--accent);}

/* ---- group overview: side-by-side comparison -------------------------- */
.wf-compare{width:100%; border-collapse:collapse; font-size:12px; margin:12px 0 4px; table-layout:fixed;}
.wf-compare th{text-align:left; vertical-align:bottom; padding:8px 12px 8px 0;
  border-bottom:1px solid var(--hairline-strong);}
.wf-compare thead th{font-size:13px;}
.wf-compare thead th a{font-weight:600; text-decoration:none; color:var(--ink); display:block;}
.wf-compare thead th a:hover{color:var(--accent);}
.wf-compare thead th .sub{display:block; font-size:9.5px; color:var(--ink-3); font-weight:400; margin-top:1px;}
.wf-compare thead th:first-child{width:110px; border-top:0;}
.wf-compare td{padding:9px 12px 9px 0; border-bottom:1px solid var(--hairline); vertical-align:top;
  color:var(--ink-2); text-wrap:pretty;}
.wf-compare tr:last-child td{border-bottom:0;}
.wf-compare__k{width:110px; white-space:nowrap; color:var(--ink-3) !important;}
.wf-compare__k b{font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3);}
.wf-compare .wf-lanechip{margin:0 3px 3px 0;}

@media print{
  .wf-flow svg, .wf-land svg, .wf-lanechip, .wf-kind, .wf-id, .rs-adminpill, .wf-node,
  .wf-actor__sw{print-color-adjust:exact; -webkit-print-color-adjust:exact;}
  .wf-steps tr, .wf-actor, .wf-flow, .wf-land, .wf-compare tr{break-inside:avoid;}
}
