@fieldwangai/agentflow 0.1.100 → 0.1.101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7421,9 +7421,7 @@ function prdWorkflowReviewRenderTable(lines) {
7421
7421
  ].join("");
7422
7422
  }
7423
7423
 
7424
- function prdWorkflowReviewMarkdownToHtml(markdown) {
7425
- const { frontmatter, body } = prdWorkflowReviewSplitFrontmatter(markdown);
7426
- const lines = String(body || "").replace(/\r\n/g, "\n").split("\n");
7424
+ function prdWorkflowReviewMarkdownLinesToHtml(lines) {
7427
7425
  const html = [];
7428
7426
  let paragraph = [];
7429
7427
  let list = [];
@@ -7500,11 +7498,147 @@ function prdWorkflowReviewMarkdownToHtml(markdown) {
7500
7498
  }
7501
7499
  if (code) html.push(`<pre><code>${htmlEscapeAttribute(prdWorkflowReviewNormalizeText(code.lines.join("\n")))}</code></pre>`);
7502
7500
  flushBlocks();
7503
- return [prdWorkflowReviewRenderFrontmatter(frontmatter), ...html].filter(Boolean).join("\n");
7501
+ return html.join("\n");
7504
7502
  }
7505
7503
 
7506
- function prdWorkflowReviewHtml(title, markdown, meta = {}) {
7507
- const escapedTitle = htmlEscapeAttribute(title || "PRD Workflow Review");
7504
+ function prdWorkflowReviewActionLine(line) {
7505
+ const match = String(line || "").match(/^\s*[-*]\s+(?:\[( |x|X)\]\s+)?(A\d+|Action\s*\d+)(?=\s|[((::.-]|$)(.*)$/i);
7506
+ if (!match) return null;
7507
+ return {
7508
+ checked: match[1] ? match[1].toLowerCase() === "x" : null,
7509
+ label: match[2].replace(/\s+/g, " ").toUpperCase(),
7510
+ title: String(match[3] || "").replace(/^\s*[-::]\s*/, "").trim(),
7511
+ };
7512
+ }
7513
+
7514
+ function prdWorkflowReviewIsActionsHeading(line) {
7515
+ const heading = String(line || "").trim().match(/^(#{1,6})\s+(.+)$/);
7516
+ if (!heading) return null;
7517
+ const title = heading[2].replace(/[*_`]/g, "").trim();
7518
+ if (!/(?:\bTODO\s+Actions?\b|\bActions?\b|待办(?:事项|行动)?|行动项)/i.test(title)) return null;
7519
+ return { level: heading[1].length };
7520
+ }
7521
+
7522
+ function prdWorkflowReviewRenderActionSection(lines, sectionIndex) {
7523
+ const actionStarts = [];
7524
+ lines.forEach((line, index) => {
7525
+ const action = prdWorkflowReviewActionLine(line);
7526
+ if (action) actionStarts.push({ index, action });
7527
+ });
7528
+ if (!actionStarts.length) return prdWorkflowReviewMarkdownLinesToHtml(lines);
7529
+
7530
+ const ids = new Map();
7531
+ const actions = actionStarts.map(({ index, action }, actionIndex) => {
7532
+ const nextStart = actionStarts[actionIndex + 1]?.index ?? lines.length;
7533
+ let bodyStart = index + 1;
7534
+ const titleParts = [action.title].filter(Boolean);
7535
+ while (bodyStart < nextStart) {
7536
+ const continuation = String(lines[bodyStart] || "");
7537
+ if (!/^\s{2,}\S/.test(continuation) || /^\s*[-*]\s+/.test(continuation) || /^\s*```/.test(continuation)) break;
7538
+ titleParts.push(continuation.trim());
7539
+ bodyStart += 1;
7540
+ }
7541
+ const labelId = action.label.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "") || actionIndex + 1;
7542
+ const baseId = `action-${labelId}${sectionIndex ? `-${sectionIndex + 1}` : ""}`;
7543
+ const duplicate = ids.get(baseId) || 0;
7544
+ ids.set(baseId, duplicate + 1);
7545
+ return {
7546
+ ...action,
7547
+ id: duplicate ? `${baseId}-${sectionIndex + 1}-${duplicate + 1}` : baseId,
7548
+ title: titleParts.join(" ") || action.label,
7549
+ body: lines.slice(bodyStart, nextStart),
7550
+ };
7551
+ });
7552
+
7553
+ const intro = prdWorkflowReviewMarkdownLinesToHtml(lines.slice(0, actionStarts[0].index));
7554
+ const navigation = actions.length > 1
7555
+ ? `<nav class="action-index" aria-label="Action 快速跳转"><span class="action-index__label">快速跳转</span>${actions.map((action) => `<a href="#${htmlEscapeAttribute(action.id)}">${htmlEscapeAttribute(action.label)}</a>`).join("")}</nav>`
7556
+ : "";
7557
+ const cards = actions.map((action) => {
7558
+ const status = action.checked === null
7559
+ ? ""
7560
+ : `<span class="action-card__status${action.checked ? " is-complete" : ""}">${action.checked ? "已完成" : "待完成"}</span>`;
7561
+ const body = prdWorkflowReviewMarkdownLinesToHtml(action.body);
7562
+ return `<section class="action-card${action.checked ? " is-complete" : ""}" id="${htmlEscapeAttribute(action.id)}">
7563
+ <div class="action-card__header">
7564
+ <span class="action-card__index">${htmlEscapeAttribute(action.label)}</span>
7565
+ <h3 class="action-card__title">${prdWorkflowReviewInlineMarkdown(action.title)}</h3>
7566
+ ${status}
7567
+ </div>
7568
+ <div class="action-card__body">${body}</div>
7569
+ </section>`;
7570
+ }).join("\n");
7571
+ return [intro, navigation, cards].filter(Boolean).join("\n");
7572
+ }
7573
+
7574
+ function prdWorkflowReviewBodyToHtml(body) {
7575
+ const lines = String(body || "").replace(/\r\n/g, "\n").split("\n");
7576
+ const html = [];
7577
+ let cursor = 0;
7578
+ let sectionIndex = 0;
7579
+ while (cursor < lines.length) {
7580
+ const actionsHeading = prdWorkflowReviewIsActionsHeading(lines[cursor]);
7581
+ if (!actionsHeading) {
7582
+ const nextHeading = lines.findIndex((line, index) => index > cursor && prdWorkflowReviewIsActionsHeading(line));
7583
+ const end = nextHeading >= 0 ? nextHeading : lines.length;
7584
+ html.push(prdWorkflowReviewMarkdownLinesToHtml(lines.slice(cursor, end)));
7585
+ cursor = end;
7586
+ continue;
7587
+ }
7588
+ let end = cursor + 1;
7589
+ while (end < lines.length) {
7590
+ const heading = String(lines[end] || "").trim().match(/^(#{1,6})\s+/);
7591
+ if (heading && heading[1].length <= actionsHeading.level) break;
7592
+ end += 1;
7593
+ }
7594
+ html.push(prdWorkflowReviewMarkdownLinesToHtml([lines[cursor]]));
7595
+ html.push(prdWorkflowReviewRenderActionSection(lines.slice(cursor + 1, end), sectionIndex));
7596
+ sectionIndex += 1;
7597
+ cursor = end;
7598
+ }
7599
+ return html.filter(Boolean).join("\n");
7600
+ }
7601
+
7602
+ export function prdWorkflowReviewMarkdownToHtml(markdown) {
7603
+ const { frontmatter, body } = prdWorkflowReviewSplitFrontmatter(markdown);
7604
+ return [
7605
+ prdWorkflowReviewRenderFrontmatter(frontmatter),
7606
+ prdWorkflowReviewBodyToHtml(body),
7607
+ ].filter(Boolean).join("\n");
7608
+ }
7609
+
7610
+ function prdWorkflowReviewExtractPageTitle(markdown, fallbackTitle) {
7611
+ const { frontmatter, body } = prdWorkflowReviewSplitFrontmatter(markdown);
7612
+ const lines = String(body || "").replace(/\r\n/g, "\n").split("\n");
7613
+ const firstContentIndex = lines.findIndex((line) => String(line || "").trim());
7614
+ const heading = firstContentIndex >= 0
7615
+ ? String(lines[firstContentIndex] || "").trim().match(/^#\s+(.+)$/)
7616
+ : null;
7617
+ if (!heading) {
7618
+ return {
7619
+ markdown: String(markdown || ""),
7620
+ title: String(fallbackTitle || "PRD Workflow Review"),
7621
+ };
7622
+ }
7623
+
7624
+ lines.splice(firstContentIndex, 1);
7625
+ const markdownTitle = prdWorkflowReviewNormalizeText(heading[1])
7626
+ .replace(/\[([^\]]+)\]\([^)]+\)/g, "$1")
7627
+ .replace(/[`*_~]/g, "")
7628
+ .trim();
7629
+ const bodyWithoutTitle = lines.join("\n").replace(/^\n+/, "");
7630
+ return {
7631
+ markdown: [
7632
+ frontmatter ? `---\n${frontmatter}\n---` : "",
7633
+ bodyWithoutTitle,
7634
+ ].filter(Boolean).join("\n\n"),
7635
+ title: markdownTitle || String(fallbackTitle || "PRD Workflow Review"),
7636
+ };
7637
+ }
7638
+
7639
+ export function prdWorkflowReviewHtml(title, markdown, meta = {}) {
7640
+ const page = prdWorkflowReviewExtractPageTitle(markdown, title);
7641
+ const escapedTitle = htmlEscapeAttribute(page.title);
7508
7642
  const escapedMeta = htmlEscapeAttribute([
7509
7643
  meta.tapdId ? `TAPD ${meta.tapdId}` : "",
7510
7644
  meta.stage ? `stage ${meta.stage}` : "",
@@ -7518,7 +7652,7 @@ function prdWorkflowReviewHtml(title, markdown, meta = {}) {
7518
7652
  meta.persistence ? `persistence ${meta.persistence}` : "",
7519
7653
  ].filter(Boolean).join(" · ");
7520
7654
  const escapedLifecycle = htmlEscapeAttribute(lifecycle);
7521
- const renderedMarkdown = prdWorkflowReviewMarkdownToHtml(markdown || "");
7655
+ const renderedMarkdown = prdWorkflowReviewMarkdownToHtml(page.markdown);
7522
7656
  const rawHref = htmlEscapeAttribute(meta.rawHref || "?raw=1");
7523
7657
  return `<!doctype html>
7524
7658
  <html lang="zh-CN" data-theme="dark">
@@ -7530,57 +7664,80 @@ function prdWorkflowReviewHtml(title, markdown, meta = {}) {
7530
7664
  :root {
7531
7665
  color-scheme: dark;
7532
7666
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
7533
- --bg: #0b1020;
7534
- --bg-radial: rgba(124,58,237,.18);
7535
- --panel: rgba(15,23,42,.68);
7536
- --panel-strong: rgba(15,23,42,.88);
7537
- --panel-soft: rgba(30,41,59,.74);
7538
- --border: rgba(148,163,184,.20);
7539
- --border-soft: rgba(148,163,184,.14);
7667
+ --bg: #1a1b26;
7668
+ --panel: #1f2335;
7669
+ --panel-strong: #24283b;
7670
+ --panel-soft: #292e42;
7671
+ --border: #3b4261;
7672
+ --border-soft: #30364f;
7540
7673
  --text: #e5e7eb;
7541
- --heading: #f8fafc;
7542
- --muted: #94a3b8;
7543
- --body: #dbe4f0;
7544
- --link: #c4b5fd;
7545
- --button: rgba(124,58,237,.16);
7546
- --button-text: #ddd6fe;
7547
- --code-bg: rgba(2,6,23,.58);
7548
- --code-block: rgba(2,6,23,.72);
7549
- --shadow: rgba(0,0,0,.28);
7674
+ --heading: #f4f4f5;
7675
+ --muted: #8b90a0;
7676
+ --body: #d4d4d8;
7677
+ --link: #7dcfff;
7678
+ --interactive: #7aa2f7;
7679
+ --purple: #bb9af7;
7680
+ --button: #24283b;
7681
+ --button-text: #cbd0da;
7682
+ --code-bg: #292e42;
7683
+ --code-inline: #7dcfff;
7684
+ --code-block: #16161e;
7685
+ --code-block-text: #e5e7eb;
7686
+ --action-bg: #1f2335;
7687
+ --action-header: #24283b;
7688
+ --pending-bg: rgba(224,175,104,.10);
7689
+ --pending-border: rgba(224,175,104,.34);
7690
+ --pending-text: #e0af68;
7691
+ --complete-bg: rgba(158,206,106,.10);
7692
+ --complete-border: rgba(158,206,106,.34);
7693
+ --complete-text: #9ece6a;
7694
+ --shadow: rgba(9,10,15,.28);
7550
7695
  background: var(--bg);
7551
7696
  }
7552
7697
  :root[data-theme="light"] {
7553
7698
  color-scheme: light;
7554
- --bg: #f8fafc;
7555
- --bg-radial: rgba(124,58,237,.12);
7556
- --panel: rgba(255,255,255,.92);
7557
- --panel-strong: rgba(255,255,255,.98);
7558
- --panel-soft: rgba(241,245,249,.96);
7559
- --border: rgba(100,116,139,.24);
7560
- --border-soft: rgba(100,116,139,.18);
7561
- --text: #0f172a;
7562
- --heading: #020617;
7563
- --muted: #64748b;
7564
- --body: #1e293b;
7565
- --link: #6d28d9;
7566
- --button: rgba(124,58,237,.10);
7567
- --button-text: #4c1d95;
7568
- --code-bg: rgba(226,232,240,.76);
7569
- --code-block: rgba(241,245,249,.92);
7570
- --shadow: rgba(15,23,42,.10);
7699
+ --bg: #e1e2e7;
7700
+ --panel: #f3f3f5;
7701
+ --panel-strong: #e9e9ed;
7702
+ --panel-soft: #dcdfe7;
7703
+ --border: #c8cad4;
7704
+ --border-soft: #d5d7df;
7705
+ --text: #4c505e;
7706
+ --heading: #343b58;
7707
+ --muted: #7f849c;
7708
+ --body: #4c505e;
7709
+ --link: #007197;
7710
+ --interactive: #2e7de9;
7711
+ --purple: #7847bd;
7712
+ --button: #e7e8ed;
7713
+ --button-text: #4c505e;
7714
+ --code-bg: #dcdfe7;
7715
+ --code-inline: #007197;
7716
+ --code-block: #d5d8e1;
7717
+ --code-block-text: #343b58;
7718
+ --action-bg: #f3f3f5;
7719
+ --action-header: #e9e9ed;
7720
+ --pending-bg: rgba(177,92,0,.08);
7721
+ --pending-border: rgba(177,92,0,.28);
7722
+ --pending-text: #9a5200;
7723
+ --complete-bg: rgba(88,117,57,.10);
7724
+ --complete-border: rgba(88,117,57,.28);
7725
+ --complete-text: #587539;
7726
+ --shadow: rgba(52,59,88,.10);
7571
7727
  }
7572
7728
  *, *::before, *::after { box-sizing: border-box; }
7573
7729
  html, body { overflow-x: hidden; }
7574
- body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top left, var(--bg-radial), transparent 34rem), var(--bg); color: var(--text); }
7575
- main { width: min(100%, 1120px); margin: 0 auto; padding: 40px 24px 72px; min-width: 0; }
7730
+ body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); }
7731
+ main { width: min(100%, 1180px); margin: 0 auto; padding: 40px 24px 72px; min-width: 0; }
7576
7732
  header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 22px; }
7577
- h1 { margin: 0 0 10px; font-size: clamp(28px, 5vw, 56px); line-height: 1.05; letter-spacing: 0; }
7733
+ h1 { margin: 0 0 10px; font-size: clamp(28px, 4vw, 44px); line-height: 1.12; letter-spacing: -.015em; }
7578
7734
  .meta { margin: 0; color: var(--muted); font-size: 14px; }
7579
7735
  .toolbar { flex: 0 0 auto; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
7580
- .raw, .theme-toggle { border: 1px solid rgba(124,58,237,.34); border-radius: 999px; color: var(--button-text); background: var(--button); padding: 9px 14px; text-decoration: none; font-size: 13px; font-weight: 800; line-height: 1.2; }
7736
+ .raw, .theme-toggle { border: 1px solid var(--border); border-radius: 999px; color: var(--button-text); background: var(--button); padding: 9px 14px; text-decoration: none; font-size: 13px; font-weight: 800; line-height: 1.2; }
7737
+ .raw:hover, .theme-toggle:hover { border-color: var(--interactive); color: var(--link); }
7581
7738
  .theme-toggle { cursor: pointer; font-family: inherit; }
7582
- .lifecycle { margin-top: 10px; display: inline-flex; max-width: 100%; border: 1px solid rgba(124,58,237,.30); border-radius: 999px; background: rgba(124,58,237,.12); color: var(--button-text); padding: 6px 10px; font-size: 12px; font-weight: 800; line-height: 1.35; overflow-wrap: anywhere; }
7583
- article { min-width: 0; border: 1px solid var(--border); border-radius: 14px; background: var(--panel); box-shadow: 0 28px 80px var(--shadow); padding: clamp(20px, 4vw, 34px); }
7739
+ .lifecycle { margin-top: 10px; display: inline-flex; max-width: 100%; border: 1px solid var(--border); border-radius: 999px; background: var(--button); color: var(--muted); padding: 6px 10px; font-size: 12px; font-weight: 800; line-height: 1.35; overflow-wrap: anywhere; }
7740
+ article { min-width: 0; border: 1px solid var(--border); border-radius: 14px; background: var(--panel); box-shadow: 0 18px 50px var(--shadow); padding: clamp(20px, 4vw, 34px); }
7584
7741
  article > *:first-child { margin-top: 0; }
7585
7742
  article > *:last-child { margin-bottom: 0; }
7586
7743
  h2, h3, h4, h5, h6 { margin: 1.7em 0 .65em; line-height: 1.25; letter-spacing: 0; color: var(--heading); overflow-wrap: anywhere; }
@@ -7591,10 +7748,10 @@ function prdWorkflowReviewHtml(title, markdown, meta = {}) {
7591
7748
  ul { margin: .65rem 0 1rem; padding-left: 1.35rem; }
7592
7749
  li { margin: .28rem 0; color: var(--body); }
7593
7750
  li input { margin-right: .38rem; transform: translateY(1px); }
7594
- code { display: inline; max-width: 100%; border: 1px solid var(--border-soft); border-radius: 6px; background: var(--code-bg); color: var(--heading); padding: .1rem .34rem; font-family: "SFMono-Regular", Consolas, monospace; font-size: .92em; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
7751
+ code { display: inline; max-width: 100%; border: 1px solid var(--border-soft); border-radius: 6px; background: var(--code-bg); color: var(--code-inline); padding: .1rem .34rem; font-family: "SFMono-Regular", Consolas, monospace; font-size: .92em; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
7595
7752
  pre { max-width: 100%; overflow: auto; border: 1px solid var(--border); border-radius: 10px; background: var(--code-block); padding: 16px; line-height: 1.65; }
7596
- pre code { border: 0; background: transparent; padding: 0; white-space: pre; overflow-wrap: normal; word-break: normal; }
7597
- blockquote { margin: 1rem 0; border-left: 3px solid rgba(124,58,237,.72); background: rgba(124,58,237,.10); padding: .75rem 1rem; color: var(--body); }
7753
+ pre code { border: 0; background: transparent; color: var(--code-block-text); padding: 0; white-space: pre; overflow-wrap: normal; word-break: normal; }
7754
+ blockquote { margin: 1rem 0; border-left: 3px solid var(--purple); background: var(--panel-soft); padding: .75rem 1rem; color: var(--body); }
7598
7755
  a { color: var(--link); text-decoration-thickness: .08em; text-underline-offset: .16em; overflow-wrap: anywhere; }
7599
7756
  .table-wrap { max-width: 100%; overflow-x: auto; margin: 1rem 0 1.25rem; border: 1px solid var(--border-soft); border-radius: 10px; background: var(--panel-strong); }
7600
7757
  table { width: 100%; max-width: 100%; border-collapse: collapse; table-layout: fixed; }
@@ -7606,7 +7763,34 @@ function prdWorkflowReviewHtml(title, markdown, meta = {}) {
7606
7763
  .frontmatter table { min-width: 0; margin-top: .7rem; }
7607
7764
  .frontmatter th { width: min(34%, 12rem); background: var(--panel-soft); color: var(--body); }
7608
7765
  .frontmatter-list { margin: 0; padding-left: 1.1rem; }
7609
- @media (max-width: 720px) { main { padding: 28px 14px 48px; } header { display: block; } .toolbar { justify-content: flex-start; margin-top: 14px; } article { padding: 18px; } th, td { padding: .58rem .65rem; } }
7766
+ .action-index { position: sticky; top: 10px; z-index: 4; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 1rem 0 1.25rem; border: 1px solid var(--border); border-radius: 12px; background: var(--panel-strong); box-shadow: 0 8px 22px var(--shadow); padding: 10px 12px; }
7767
+ .action-index__label { margin-right: 2px; color: var(--muted); font-size: 12px; font-weight: 800; }
7768
+ .action-index a { min-width: 38px; border: 1px solid color-mix(in srgb, var(--interactive) 38%, var(--border)); border-radius: 999px; background: color-mix(in srgb, var(--interactive) 10%, var(--button)); color: var(--interactive); padding: 5px 10px; text-align: center; text-decoration: none; font-size: 12px; font-weight: 900; }
7769
+ .action-index a:hover { border-color: var(--link); background: color-mix(in srgb, var(--interactive) 18%, var(--button)); color: var(--link); }
7770
+ .action-card { scroll-margin-top: 78px; margin: 0 0 20px; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--action-bg); box-shadow: 0 8px 24px var(--shadow); }
7771
+ .action-card:target { border-color: var(--interactive); box-shadow: 0 0 0 2px color-mix(in srgb, var(--interactive) 18%, transparent), 0 8px 24px var(--shadow); }
7772
+ .action-card__header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 12px; border-bottom: 1px solid var(--border-soft); background: var(--action-header); padding: 16px 18px; }
7773
+ .action-card__index { display: inline-grid; place-items: center; min-width: 42px; min-height: 30px; border: 1px solid color-mix(in srgb, var(--interactive) 34%, var(--border)); border-radius: 8px; background: color-mix(in srgb, var(--interactive) 10%, var(--panel-soft)); color: var(--interactive); font: 900 13px/1 "SFMono-Regular", Consolas, monospace; }
7774
+ .action-card__title { margin: 3px 0 0; font-size: 16px; line-height: 1.55; letter-spacing: 0; color: var(--heading); }
7775
+ .action-card__status { margin-top: 2px; border: 1px solid var(--pending-border); border-radius: 999px; background: var(--pending-bg); color: var(--pending-text); padding: 5px 9px; font-size: 11px; font-weight: 900; white-space: nowrap; }
7776
+ .action-card__status.is-complete { border-color: var(--complete-border); background: var(--complete-bg); color: var(--complete-text); }
7777
+ .action-card__body { padding: 15px 20px 20px; }
7778
+ .action-card__body > *:first-child { margin-top: 0; }
7779
+ .action-card__body > *:last-child { margin-bottom: 0; }
7780
+ .action-card__body > ul { margin: 0 0 1rem; padding-left: 1.3rem; }
7781
+ .action-card__body > ul > li { margin: .55rem 0; padding-left: .15rem; }
7782
+ .action-card__body pre { margin: .9rem 0 1.1rem; }
7783
+ @media (max-width: 720px) {
7784
+ main { padding: 28px 14px 48px; }
7785
+ header { display: block; }
7786
+ .toolbar { justify-content: flex-start; margin-top: 14px; }
7787
+ article { padding: 18px; }
7788
+ th, td { padding: .58rem .65rem; }
7789
+ .action-index { top: 6px; }
7790
+ .action-card__header { grid-template-columns: auto minmax(0, 1fr); padding: 14px; }
7791
+ .action-card__status { grid-column: 2; justify-self: start; }
7792
+ .action-card__body { padding: 14px 16px 18px; }
7793
+ }
7610
7794
  </style>
7611
7795
  </head>
7612
7796
  <body>