.workflow-lab { margin-block:28px; padding:24px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); }
.workflow-lab [hidden] { display:none!important; }
.workflow-lab :is(h3,h4,h5) { margin:0 0 10px; line-height:1.35; letter-spacing:-.02em; }
.workflow-lab h3 { font-size:21px; }
.workflow-lab :is(h4,h5) { font-size:16px; }
.workflow-lab p { font-size:14px; line-height:1.7; color:var(--muted); }
.workflow-lab :is(p,li,td,th,strong,span) { overflow-wrap:anywhere; }
.workflow-lab :is(button,a,input):focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.workflow-lab .workflow-scene,.workflow-lab [data-workflow-scene] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-block:22px; }
.workflow-node { min-width:0; padding:18px; border:1px solid var(--line); border-radius:8px; background:var(--paper); position:relative; }
.workflow-node p:last-child { margin-bottom:0; }
.workflow-node > :first-child { margin-top:0; }
.workflow-node code { color:var(--ink); background:var(--surface); }
.workflow-lab.is-enhanced .workflow-node { transition:border-color .2s,box-shadow .2s; }
.workflow-lab.is-enhanced .workflow-node.is-current { border-color:var(--blue); box-shadow:inset 0 3px 0 var(--blue); }
.workflow-lab.is-enhanced[data-workflow-interacted=true] .workflow-node.is-current { animation:workflow-emphasis .35s ease-out; }
.workflow-steps { list-style:none; counter-reset:workflow-step; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:22px 0; padding:0; }
.workflow-steps > li { counter-increment:workflow-step; margin:0; padding:12px 0 0; border-top:2px solid var(--line); font-size:12px; color:var(--muted); min-width:0; }
.workflow-steps > li::before { content:counter(workflow-step,decimal-leading-zero); display:block; margin-bottom:7px; font:11px var(--mono); }
.workflow-steps > li > strong:first-child { display:block; color:var(--ink); font-size:14px; margin-bottom:6px; }
.workflow-steps > li p { font-size:12px; line-height:1.65; margin:0; }
.workflow-steps > li[aria-current=step] { border-color:var(--blue); }
.workflow-steps > li[aria-current=step]::before { color:var(--blue); font-weight:700; }
.workflow-lab [data-workflow-controls] { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-block:20px 12px; }
.workflow-lab button { min-height:44px; max-width:100%; padding:9px 14px; border:1px solid var(--muted); border-radius:7px; background:var(--surface); color:var(--ink); line-height:1.5; font:inherit; font-size:13px; overflow-wrap:anywhere; }
.workflow-lab button:hover { border-color:var(--blue); background:var(--paper); }
.workflow-lab button:disabled { cursor:default; color:var(--muted); border-color:var(--line); }
.workflow-lab button[aria-pressed=true] { border-color:var(--blue); box-shadow:inset 0 -3px 0 var(--blue); font-weight:650; }
.workflow-lab [data-workflow-progress] { margin-inline-start:auto; color:var(--muted); font:11px/1.6 var(--mono); }
.workflow-lab .workflow-status { border-inline-start:3px solid var(--blue); padding-inline-start:14px; margin:18px 0 0; min-height:3.5em; color:var(--ink); }
.workflow-lab .workflow-status:empty { display:none; }
.workflow-lab fieldset { min-width:0; margin-block:16px; padding:14px; border:1px solid var(--line); border-radius:8px; display:flex; flex-wrap:wrap; gap:8px; }
.workflow-lab legend { color:var(--muted); font-size:12px; padding-inline:5px; }
.workflow-lab table { table-layout:fixed; width:100%; border-collapse:collapse; font-size:12px; line-height:1.65; margin:14px 0; }
.workflow-lab :is(th,td) { text-align:start; padding:10px 8px; vertical-align:top; border-bottom:1px solid var(--line); }
.workflow-lab th { color:var(--ink); }
.workflow-lab td { color:var(--muted); }
.workflow-lab [data-workflow-identity-value] { display:block; }
.workflow-lab [data-workflow-design] { border:1px solid var(--line); border-radius:6px; padding:14px; background:var(--surface); }
.workflow-lab [data-workflow-design=reading_series] { border-inline-start:4px solid var(--blue); font-family:Georgia,"Times New Roman",serif; }
.workflow-lab [data-workflow-design=reading_series] > :is(h4,h5,strong) { letter-spacing:-.025em; font-size:18px; }
.workflow-lab [data-workflow-content] > :last-child { margin-bottom:0; }
@keyframes workflow-emphasis { from { transform:translateY(3px); } to { transform:translateY(0); } }
@media(max-width:600px) {
  .workflow-lab { padding:17px; }
  .workflow-lab .workflow-scene,.workflow-lab [data-workflow-scene] { grid-template-columns:1fr; }
  .workflow-lab.is-enhanced [data-workflow-scene] > .workflow-node { grid-area:1 / 1; visibility:hidden; }
  .workflow-lab.is-enhanced [data-workflow-scene] > .workflow-node.is-current { visibility:visible; }
  .workflow-lab.is-enhanced[data-workflow=handover] [data-workflow-scene] > .workflow-node { grid-area:2 / 1; }
  .workflow-lab.is-enhanced[data-workflow=handover] [data-workflow-scene] > [data-workflow-node="0"] { grid-area:1 / 1; visibility:visible; }
  .workflow-lab.is-enhanced[data-workflow=handover][data-step="0"] [data-workflow-node="1"] { visibility:visible; }
  .workflow-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workflow-node { padding:15px; }
  .workflow-lab [data-workflow-progress] { flex-basis:100%; margin-inline-start:0; }
  .workflow-lab :is(th,td) { padding:8px 4px; font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  .workflow-lab *, .workflow-lab *::before, .workflow-lab *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
