/* The Living RCM · center layout. Chassis (app-base.css) owns tokens/components. */
:root{ --vhigh:#7C1408; --vhigh-bg:#F3DEDB; }

main.wrap{max-width:1180px}

/* mode bar */
.modebar{display:flex;gap:8px;margin-top:20px;border-bottom:1px solid var(--line);padding-bottom:0}
.modebtn{font-family:var(--sans);font-size:13.5px;font-weight:500;color:var(--body);background:transparent;border:1px solid transparent;border-bottom:2px solid transparent;padding:10px 14px;cursor:pointer;border-radius:6px 6px 0 0}
.modebtn:hover{color:var(--ink);background:var(--wash)}
.modebtn.active{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}

/* canvas */
#canvas svg{width:100%;height:auto;display:block}
.node{cursor:pointer}
.node rect.box{fill:var(--surface);stroke:var(--line);stroke-width:1;rx:6}
.node.sel rect.box{stroke:var(--accent);stroke-width:1.6}
.node:hover rect.box{stroke:var(--accent)}
.svgm{font-family:var(--mono)}

/* step tabs (keyboard path mirrors canvas clicks) */
.steps-tabs{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.steps-tabs button{font-family:var(--mono);font-size:11.5px;color:var(--body2);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:8px 12px;cursor:pointer}
.steps-tabs button:hover{border-color:var(--accent);color:var(--accent)}
.steps-tabs button.active{border-color:var(--accent);color:var(--accent);font-weight:600;background:#EFF4FD}

/* two-column detail */
.grid2{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}
@media(max-width:900px){.grid2{grid-template-columns:1fr}}

/* step detail */
.agentline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.chip-taco{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;background:#EFF4FD;color:var(--accent);border-radius:30px;padding:3px 10px}
.chip-ovs{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;background:var(--wash);color:var(--body2);border-radius:30px;padding:3px 10px}
.chip-ext{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;background:var(--esc-bg);color:var(--warn);border-radius:30px;padding:3px 10px}

.risk{border:1px solid var(--line2);border-radius:8px;margin-top:12px;overflow:hidden}
.risk .rh{display:flex;gap:10px;align-items:baseline;padding:11px 14px;background:var(--wash);border-bottom:1px solid var(--line2)}
.risk .rh .rid{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink)}
.risk .rh .rev{font-size:13px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.risk .rb{padding:12px 14px}
.lifecycle{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:2px 0 10px}
.lifecycle .cell{text-align:center;min-width:96px}
.lifecycle .cell .sc{font-family:var(--mono);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.lifecycle .cell .lb{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--cap);margin-top:2px}
.bandpill{display:inline-block;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;border-radius:30px;padding:2px 9px;margin-top:4px}
.band-low{background:var(--allow-bg);color:var(--ok)} .band-medium{background:var(--esc-bg);color:var(--warn)}
.band-high{background:var(--block-bg);color:var(--danger)} .band-vhigh{background:var(--vhigh-bg);color:var(--vhigh)}
.ctrlmid{border-top:1px dashed var(--line);position:relative;padding-top:10px}
.ctrlmid .arrowlbl{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--surface);padding:0 8px;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--cap)}
.ctrl-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.cchip{font-family:var(--mono);font-size:10.5px;border:1px solid var(--line);border-radius:5px;padding:4px 8px;background:var(--surface);cursor:pointer;color:var(--body2)}
.cchip:hover{border-color:var(--accent);color:var(--accent)}
.cchip .t-preventive{color:var(--accent)} .cchip .t-detective{color:var(--ok)} .cchip .t-directive{color:var(--review)} .cchip .t-corrective{color:var(--warn)}
.cchip.oe-bad{border-color:#E5C9C5;background:#FDF7F6}
.risk .meta{font-size:12px;color:var(--body);line-height:1.55}
.risk .meta b{color:var(--ink)}
.ctrl-pop{border:1px solid var(--line);border-radius:6px;background:var(--wash);padding:10px 12px;margin-top:8px;font-size:12px;color:var(--body2)}
.ctrl-pop .mono{font-size:10.5px}

/* heat map */
#heatmap-box svg{width:100%;height:auto;display:block}
.hm-low{fill:#E7F2EC}.hm-medium{fill:#F7EEE0}.hm-high{fill:#F7E7E5}.hm-vhigh{fill:#F3DEDB}

/* run bar */
.runbar{display:flex;gap:14px;align-items:center;margin-top:16px;flex-wrap:wrap}
.runout{font-size:12px;color:var(--body2)}

/* audit stepper */
.stepper{display:flex;gap:6px;flex-wrap:wrap}
.stepper button{font-family:var(--mono);font-size:11px;color:var(--body2);background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:7px 13px;cursor:pointer}
.stepper button.active{border-color:var(--accent);color:var(--accent);font-weight:600;background:#EFF4FD}
.stepper button.done{border-color:#CDE6D7;color:var(--ok)}
.stepper button:disabled{opacity:.45;cursor:not-allowed}
.aphase h4{font-size:15px;font-weight:600;margin:0 0 4px}
.aphase .std{font-family:var(--mono);font-size:10.5px;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}
.aphase p{font-size:13px;color:var(--body2);max-width:78ch}
.aphase .tbl th{position:static}
.advance{margin-top:14px}
.find-grid{display:grid;grid-template-columns:130px 1fr;gap:10px 14px;margin-top:10px;font-size:13px}
.find-grid .k{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--danger);padding-top:2px}
.find-grid .v{color:var(--body2)} .find-grid .v b{color:var(--ink)}
.sev{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.sev .s{border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:12px;color:var(--body)}
.sev .s.hit{border-color:var(--danger);background:#FDF7F6}
.sev .s .h{font-weight:600;color:var(--ink);font-size:12.5px}
.wt-row{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--line2);font-size:12.5px}
.wt-row .st{font-family:var(--mono);font-size:10.5px;color:var(--accent);padding-top:1px}
.wt-row .tx{color:var(--body2)} .wt-row .tx b{color:var(--ink)}
.wt-row .rmm{font-family:var(--mono);font-size:10px;color:var(--danger)}
.wt-row .prp{font-family:var(--mono);font-size:10px;color:var(--warn)}

/* methodology + downloads */
.meth{margin-top:26px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.meth summary{padding:13px 16px;font-size:13.5px;font-weight:600;cursor:pointer}
.meth-body{padding:4px 16px 16px;font-size:12.5px;color:var(--body2)}
.meth-body .cit{padding:10px 0;border-top:1px solid var(--line2)}
.meth-body .cit b{color:var(--ink)} .meth-body .cit .for{color:var(--body);margin-top:2px}
.dlrow{display:flex;gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap}
.foot{font-size:11px;color:var(--cap);margin-top:26px}
