/* v7 - phase-local workflow lanes, executive translation and compact footer */
.navlinks .cta,.btn:not(.secondary){background:var(--violetInk);color:#fff}
button:disabled{cursor:not-allowed;opacity:.48}
.skip-link{position:fixed;top:8px;left:12px;transform:translateY(-160%);z-index:500;background:#fff;padding:12px;border:2px solid var(--violet)}
.skip-link:focus{transform:none}
.stage-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:24px}
.stage-main,.signal{min-width:0}.stage-frame{padding:24px;overflow:visible}
.stage-content h2{font-size:30px}.stage-content .tagline{font-size:16px;line-height:1.275}
.stage-content .tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.stage-content .tile{height:auto;min-height:154px;padding:16px}.tile h3{line-height:1.3}
.signal{padding:20px}.signal h3{font-size:22px;line-height:1.25;margin:8px 0 14px}
.signal p{font-size:15px;line-height:1.3175;color:var(--ink2);margin:0}
.signal .k{line-height:1.36}.signal-row{padding:14px 0 0;margin-top:14px}.signal-row b{font-size:14px;margin-bottom:6px;line-height:1.35}
.signal .text-link{display:inline-block;line-height:1.19;margin-top:16px;padding:8px 0;min-height:44px}
.board-question{border-left:3px solid var(--violet);padding:12px 14px;background:var(--violetWash);border-top:0;border-radius:4px}
.phase-test{margin-top:16px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink2)}
.phase-test b{font-size:14px}.phase-test p{font-size:15px;line-height:1.275;margin:6px 0 0}
.stage-controls{align-items:center}.stage-counter{font-family:var(--mono);font-size:12px;color:var(--muted);text-align:center}
.oversight-note{margin:24px auto 0;max-width:1100px;border-top:1px solid var(--line);padding:20px 0 0;font-size:14px;line-height:1.36;color:var(--ink2)}
.oversight-note summary{min-height:44px;padding:10px 0;color:var(--violetInk);cursor:pointer;font-family:var(--display);font-weight:600}
.oversight-note a{text-decoration:underline;color:var(--violetInk);text-underline-offset:3px}
.oversight-note .legal-sources{display:flex;gap:10px 20px;flex-wrap:wrap;margin-top:10px}.legal-sources a{padding:8px 0;min-height:44px}
.harness-toolbar{gap:16px;margin-bottom:14px}.trace-actions{display:flex;gap:8px;flex-wrap:wrap}
.workflow-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(144px,1fr));gap:8px;margin:16px 0}
.wf-phase{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:105px;min-width:0;padding:12px;text-align:left;color:var(--ink2);cursor:pointer}
.wf-phase span{font-family:var(--mono);font-size:11px;color:var(--muted);display:block}
.wf-phase b{display:block;font-family:var(--display);font-size:14px;line-height:1.35;margin-top:5px;font-weight:600}
.wf-phase small{font-family:var(--mono);font-size:10px;line-height:1.19;margin-top:8px;display:block;color:var(--muted)}
.wf-phase.on{background:var(--violetWash);border-color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet)}
.wf-phase.done small{color:var(--violetInk)}
.workflow-status{font-size:14px;line-height:1.3175;padding:14px 16px;background:var(--violetWash);border-left:3px solid var(--violet);margin:0 0 14px;min-height:68px;color:var(--ink2)}
.flow-reading-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line)}
.flow-reading-controls strong{font:600 17px var(--display);line-height:1.19}.flow-reading-controls label{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:center}
.flow-reading-controls select{border:1px solid var(--line);border-radius:6px;min-height:44px;padding:8px;background:#fff;color:var(--ink2);max-width:100%}
.workflow-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:stretch}
.workflow-canvas{min-width:0;position:relative;overflow:auto;max-height:650px;scrollbar-gutter:stable;padding:16px;background:var(--paper);scrollbar-color:var(--muted) var(--line2)}
.wf-lane{position:relative;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px;margin-bottom:16px}
.wf-lane:last-child{margin-bottom:0}.wf-lane.is-current{border-color:var(--violet)}
.wf-lane-head{display:flex;align-items:baseline;gap:8px 12px;flex-wrap:wrap}.wf-lane-head .meta{font:500 11px var(--mono);color:var(--violetInk)}
.wf-lane-head h3{font:600 18px/1.3 var(--display);margin:0;flex:1;min-width:160px}
.wf-state{font:500 10px/1.275 var(--mono);color:var(--muted);white-space:nowrap}
.wf-lane.is-complete .wf-state{color:var(--violetInk)}
.wf-summary{font-size:14px;line-height:1.3175;margin:10px 0;color:var(--ink2)}
.wf-canvas{overflow:auto;width:100%;scrollbar-gutter:stable;scrollbar-color:var(--muted) var(--line2)}
.wf-canvas svg{display:block;width:840px;max-width:none;height:auto;overflow:visible}
.wf-node{cursor:pointer;outline:none}.wf-node rect{fill:#fff;stroke:var(--line);stroke-width:1.5;transition:fill .22s,stroke .22s}
.wf-node:hover rect,.wf-node:focus rect,.wf-node.sel rect{fill:var(--violetWash);stroke:var(--violet);stroke-width:2}
.wf-node:focus-visible rect{stroke:var(--violetInk);stroke-width:3}
.wf-meta{font:500 10px var(--mono);fill:var(--muted);letter-spacing:.025em}.wf-title{font:600 16px var(--display);fill:var(--ink)}
.wf-node text{pointer-events:none}
.wf-edge{fill:none;stroke:var(--muted);stroke-width:2;visibility:hidden;vector-effect:non-scaling-stroke}
.wf-edge.is-revealed{visibility:visible}.wf-edge.portable{stroke:var(--muted);stroke-dasharray:5 5}
.wf-edge.evidence{stroke:var(--green)}.wf-edge.mandate{stroke:var(--amber)}.wf-edge.assurance{stroke:var(--violet)}
.wf-edge.is-tracing{stroke-width:2.25}
.wf-connections{display:grid;gap:6px;margin:8px 0 12px}
.wf-connection{font-size:12px;line-height:1.19;color:var(--ink2);border-left:2px dashed var(--muted);padding-left:10px;overflow-wrap:anywhere}
.wf-connection.evidence{border-left:2px solid var(--green)}.wf-connection.mandate{border-left:2px solid var(--amber)}
.wf-evidence{font-size:13px;line-height:1.275;margin:0;background:var(--greenWash);padding:12px;border-left:3px solid var(--green);border-radius:4px;color:var(--ink2)}
.wf-evidence b{display:block;font-size:12px;color:var(--green);margin-bottom:4px}
.workflow-grid .detail-pane{border-left:1px solid var(--line);max-height:650px;overflow:auto;padding:20px;scrollbar-gutter:stable;min-width:0;scrollbar-color:var(--muted) var(--line2)}
.workflow-grid .detail-pane h2{font-size:24px;line-height:1.25;overflow-wrap:anywhere}
.workflow-grid .detail-pane h3{font-size:15px;line-height:1.35;margin:18px 0 6px}
.workflow-grid .detail-pane p{font-size:14px;line-height:1.3175}
.workflow-grid .detail-pane .detail-context{font:10px/1.36 var(--mono);margin:0 0 12px;color:var(--muted)}
.workflow-grid .detail-pane section{border-top:1px solid var(--line2);padding-top:0;margin-top:14px}
.workflow-grid .detail-pane .control{border-left-color:var(--violet)}
.workflow-grid .detail-pane .source-note{font-size:12px;margin-top:18px}
.flow-step-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding:12px 16px}
.flow-step-controls .progress-count{margin-left:auto;font:11px var(--mono);color:var(--muted);line-height:1.36}
.flow-caption{padding:0 16px 16px}.flow-caption .hintline{font:12px/1.36 var(--body)}
.tooltip{pointer-events:auto;box-shadow:none;max-width:min(340px,calc(100vw - 24px));max-height:min(290px,calc(100vh - 24px));overflow:auto;display:none;opacity:1;transform:none;transition:none}
.tooltip.show{display:block}.tooltip b{line-height:1.35}.tooltip span{line-height:1.275}
/* Compact spacing, but preserve 44px navigation targets on touch layouts. */
footer{padding:18px 0 20px}.foot{gap:10px 24px;align-items:center}.foot>div{min-width:0;max-width:460px}
.foot b{font:600 16px/1.25 var(--display)}.foot .credentials{font-size:10px;line-height:1.2325;letter-spacing:.025em;margin-top:6px}
.foot nav{display:flex;gap:0 14px;align-content:center;align-items:center;justify-content:flex-end;max-width:640px}
.foot nav a{font-size:12px;line-height:1.3;min-height:36px;display:inline-flex;align-items:center;padding:4px 0}
.foot .footer-linkedin{margin-top:4px;min-height:32px;padding:4px 0;font-size:11px;line-height:1.2}
.foot .footer-linkedin svg{width:16px;height:16px;flex-basis:16px}
.forum-draft-actions{display:flex;align-items:center;gap:12px;margin-top:10px}.forum-draft-actions button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--violetInk);cursor:pointer}
@media(max-width:1050px){.workflow-grid{grid-template-columns:1fr}.workflow-grid .detail-pane{border-left:0;border-top:1px solid var(--line);max-height:520px}.workflow-canvas{max-height:610px}.workflow-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-content{grid-template-columns:1fr}.signal{margin-top:4px}.stage-frame{padding:20px}}
@media(max-width:760px){.workflow-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.wf-phase{min-height:102px}.stage-content .tile-grid{grid-template-columns:1fr}.stage-content .tile{min-height:0}.workflow-canvas{padding:10px;max-height:570px}.wf-lane{padding:12px}.flow-reading-controls{align-items:flex-start}.flow-reading-controls label{flex-wrap:wrap}.wf-lane-head h3{font-size:17px}.foot{align-items:flex-start}.foot nav{justify-content:flex-start;gap:0 16px}.foot nav a,.foot .footer-linkedin{min-height:44px}.brand{white-space:normal;font-size:15px;max-width:calc(100% - 74px)}.flow-step-controls .progress-count{width:100%;margin-left:0}.stage-counter{font-size:11px}.stage-controls button{min-width:92px}.stage-frame{padding:16px}.stage-content h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.wf-node rect{transition:none}.stage-content{animation:none}}
@media print{header,.lab-toolbar,.workflow-rail,.flow-step-controls,.flow-reading-controls select,.stage-controls,footer{display:none}.workflow-canvas,.workflow-grid .detail-pane,.wf-canvas{overflow:visible;max-height:none}.workflow-grid{display:block}.wf-canvas svg{width:100%;max-width:100%}.wf-lane{break-inside:avoid}.tooltip{display:none!important}.stage-content{display:block}}

/* Intrinsic form widths must not enlarge small-screen grid tracks. */
.forum-grid{grid-template-columns:280px minmax(0,1fr)}
.forum-main,.forum-cats,.forum-compose,.field{min-width:0;max-width:100%}
.field input,.field textarea,.field select{width:100%;min-width:0;max-width:100%}
@media(max-width:960px){.forum-grid{grid-template-columns:minmax(0,1fr)}}
/* Fit the full path on desktop. Below 740px, scroll instead of making labels smaller. */
.wf-canvas svg{width:840px;min-width:740px;max-width:100%;height:auto}
@media(pointer:coarse){.foot nav a,.foot .footer-linkedin{min-height:44px}}
