/* ============================================================
   schedule-logic.css — 日程 · 时间与逻辑（#/schedule/{id}/logic）
   复用侦探板语言：软木板、钉着的便笺、红色牵丝、牛皮纸标签、红色印章。
   列＝日期（框顶），行＝泳道（框左）：卡片落在“泳道 × 发起日”的格子里；牛皮纸是甲方事项，便笺是乙方工作。
   ============================================================ */
.lg-page {
  --lg-paper: #FBF6EA; --lg-ink: #1E1B16; --lg-red: #C2271F; --lg-red-soft: rgba(194, 39, 31, .12);
  --lg-kraft: #E6CC9C; --lg-kraft-ink: #8A6A3E; --lg-cork: #7A5737;
  --lg-ln-0: #2F5D8A; --lg-ln-1: #7A4E9A; --lg-ln-2: #2E7D6E; --lg-ln-3: #9A6B1F; --lg-ln-4: #56606B; --lg-ln-5: #A0445F;
  display: flex; flex-direction: column; gap: 14px; min-width: 0;
}

/* ---------- 标题案卷 ---------- */
.lg-head {
  display: flex; flex-direction: column; gap: 10px;
  padding: 20px 24px; background: var(--surface); border: 1px solid var(--sep);
  border-radius: var(--radius-card); box-shadow: var(--shadow-card);
}
.lg-eyebrow { font: 600 11px/1 var(--case-mono, var(--mono)); letter-spacing: .14em; color: var(--text-3); display: flex; gap: 12px; }
.lg-eyebrow span { color: var(--lg-red); }
.lg-title { margin: 0; font-family: var(--case-serif, serif); font-size: 26px; line-height: 1.3; font-weight: 700; color: var(--text-1); }
.lg-lead { margin: 0; max-width: 72em; font-size: 14px; line-height: 1.75; color: var(--text-2); }
.lg-lead b { color: var(--text-1); }
.lg-head-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.lg-proj { font-size: 13px; color: var(--text-2); display: inline-flex; gap: 6px; align-items: center; }
.lg-proj select { max-width: 260px; }
.lg-stats { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 13px; color: var(--text-2); }
.lg-stats b { font: 700 20px/1 var(--case-mono, var(--mono)); color: var(--text-1); margin-right: 3px; }
.lg-stats .red b { color: var(--lg-red); }

/* 甘特图 ⇄ 时间与逻辑 切换（两页共用） */
.sched-views { display: inline-flex; padding: 3px; border-radius: 10px; background: var(--fill); gap: 2px; }
.sched-views a { padding: 5px 12px; border-radius: 8px; font-size: 13px; color: var(--text-2); text-decoration: none; }
.sched-views a.on { background: var(--surface); color: var(--text-1); font-weight: 600; box-shadow: 0 1px 2px rgba(0, 0, 0, .12); }
.sched-views a:hover:not(.on) { color: var(--text-1); }

/* ---------- 案卷摘要：关键节点 / 甲方卡点 / 今天 ---------- */
.lg-dossier { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr); gap: 14px; }
.lg-file {
  position: relative; padding: 16px 18px 14px; background: var(--lg-paper); color: var(--lg-ink);
  border-radius: 3px; box-shadow: 0 6px 14px rgba(40, 24, 8, .14), 0 1px 2px rgba(40, 24, 8, .2);
  border-top: 5px solid var(--lg-ink); min-width: 0;
}
.lg-file h3 { margin: 0 0 10px; font-family: var(--case-serif, serif); font-size: 16px; }
.lg-file h3 small { font: 500 12px var(--font, inherit); color: #6A5E4D; margin-left: 6px; }
.lg-file-ms { border-top-color: var(--lg-red); }
.lg-file-ext { border-top-color: var(--lg-kraft-ink); background: #F5E8CC; }
.lg-file button { all: unset; cursor: pointer; display: block; width: 100%; box-sizing: border-box; }
.lg-file button:focus-visible { outline: 2px solid var(--lg-red); outline-offset: 2px; }
.lg-ms-chain { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 2px solid var(--lg-red); display: flex; flex-direction: column; gap: 8px; }
.lg-ms-chain li { position: relative; }
.lg-ms-chain li::before { content: ''; position: absolute; left: -21px; top: 5px; width: 10px; height: 10px; transform: rotate(45deg); background: var(--lg-red); }
.lg-ms-chain li.done::before { background: #3C7A4E; }
.lg-ms-chain time { display: block; font: 700 12px var(--case-mono, var(--mono)); color: var(--lg-red); }
.lg-ms-chain b { font-size: 14px; }
.lg-ms-chain code { margin-left: 6px; font-size: 11px; color: #6A5E4D; }
.lg-ext-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; }
.lg-ext-list li { padding: 6px 0; border-bottom: 1px dashed rgba(138, 106, 62, .4); min-width: 0; }
.lg-ext-list code { font: 700 11.5px var(--case-mono, var(--mono)); color: var(--lg-kraft-ink); margin-right: 6px; }
.lg-ext-list b { font-size: 13.5px; }
.lg-ext-list .lg-sub { display: block; font-size: 12px; color: #5C5040; margin-top: 2px; }
.lg-ext-list .lg-sub b { color: var(--lg-red); font-size: 13px; }
.lg-ext-list li.late .lg-sub em { color: var(--lg-red); font-style: normal; font-weight: 700; }
.lg-today-list { display: flex; flex-wrap: wrap; gap: 6px; }

/* ---------- 工具条 ---------- */
.lg-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.lg-toolbar .spacer { flex: 1; }
.lg-unfocus { border-color: var(--lg-red); color: var(--lg-red); }

/* ---------- 侦探板：列＝日期，行＝泳道；整块板是一个可视框（瞄准镜） ----------
   日期轴钉在框顶（sticky top），泳道标签钉在框左（sticky left），左上角交叉格压在两者之上。
   页面内框高＝一屏减顶栏，全屏时框铺满屏幕；两种情况都只在框里滚，轴始终贴着框边。 */
.lg-board {
  display: flex; flex-direction: column; gap: 8px; border-radius: 10px; padding: 10px;
  background-color: var(--lg-cork);
  background-image:
    radial-gradient(ellipse at 50% 30%, rgba(255, 220, 160, .10), transparent 60%),
    radial-gradient(rgba(40, 22, 8, .20) 1.2px, transparent 1.3px),
    radial-gradient(rgba(255, 230, 180, .08) 1px, transparent 1.1px),
    linear-gradient(180deg, #84603F, #6B4B2F);
  background-size: 100% 100%, 9px 9px, 13px 13px, 100% 100%;
  background-position: 0 0, 0 0, 4px 6px, 0 0;
  box-shadow: inset 0 0 0 8px #3B2A1C, inset 0 0 0 10px #241912, inset 0 0 80px rgba(20, 10, 0, .45);
}
.lg-boardbar { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; padding: 4px 8px 0; color: #FFF3DC; }
.lg-boardtitle { font-family: var(--case-serif, serif); font-size: 15px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lg-boardsub { font: 600 12px var(--case-mono, var(--mono)); color: rgba(255, 243, 220, .75); }
.lg-boardbar .spacer { flex: 1; }
.lg-fullbtn { background: #F1E3C4; color: #2A1F14; border-color: transparent; font-weight: 600; }
.lg-full .lg-fullbtn { background: #FFF3DC; }
.lg-frame {
  position: relative; overflow: auto; border-radius: 6px; outline: none; min-height: 320px;
  max-height: calc(100vh - var(--lg-stick, 80px) - var(--lg-bar-h, 40px) - 30px);
  max-height: calc(100dvh - var(--lg-stick, 80px) - var(--lg-bar-h, 40px) - 30px);
  background: rgba(30, 18, 6, .16); -webkit-overflow-scrolling: touch;
}
.lg-frame:focus-visible { box-shadow: inset 0 0 0 2px #FFD36B; }
.lg-frame.grabbing { cursor: grabbing; user-select: none; }
.lg-grid {
  --lab-w: 150px; --col-w: 224px;
  position: relative; display: grid; width: max-content;
  grid-template-columns: var(--lab-w) repeat(var(--cols), var(--col-w));
}
/* 左上角交叉格：同时钉顶和钉左，压在日期轴与泳道标签上面 */
.lg-corner {
  grid-row: 1; grid-column: 1; position: sticky; top: 0; left: 0; z-index: 12; box-sizing: border-box; min-height: 60px;
  display: flex; align-items: center; gap: 6px; padding: 8px 10px; background: #2E1F10; color: #F3E6CF;
  font: 700 12px var(--case-mono, var(--mono)); border-right: 2px solid #1C120A; border-bottom: 2px solid #1C120A;
}
.lg-corner i { flex: 1; height: 1px; background: rgba(243, 230, 207, .45); transform: rotate(18deg); }
/* 顶边：日期轴 */
.lg-dh {
  grid-row: 1; position: sticky; top: 0; z-index: 10; box-sizing: border-box;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; align-content: center; gap: 4px 6px; padding: 8px 6px;
  background: #4A3420; border-bottom: 2px solid #1C120A; border-left: 1px solid rgba(255, 240, 215, .14);
  box-shadow: 0 6px 10px -6px rgba(0, 0, 0, .55);
}
.lg-dh.gap { border-left: 4px double rgba(255, 240, 215, .45); }
.lg-dh.today { background: #6A2018; }
.lg-gap { width: 100%; text-align: center; font: 600 10.5px var(--case-mono, var(--mono)); color: rgba(255, 243, 220, .6); }
.lg-month { font: 700 12px var(--case-mono, var(--mono)); color: #FFF3DC; background: rgba(30, 20, 10, .55); padding: 2px 8px; border-radius: 3px; }
.lg-datetag {
  color: #2A1F14; background: #F1E3C4; font: 700 14px var(--case-mono, var(--mono));
  padding: 4px 10px; border-radius: 2px; box-shadow: 0 2px 4px rgba(0, 0, 0, .35); transform: rotate(-1.5deg);
}
.lg-datetag i { font-style: normal; font-weight: 500; font-size: 12px; }
.lg-dh.today .lg-datetag { background: var(--lg-red); color: #fff; }
.lg-todaytag { font: 700 11px var(--case-mono, var(--mono)); color: #fff; background: var(--lg-red); padding: 1px 8px; border-radius: 10px; letter-spacing: .1em; }
/* 左边：泳道标签（行很高时，标签纸跟着停在日期轴下面） */
.lg-lab {
  grid-column: 1; position: sticky; left: 0; z-index: 9; background: #3E2B1A;
  border-right: 2px solid #1C120A; border-top: 1px dashed rgba(255, 240, 215, .22); box-shadow: 6px 0 10px -6px rgba(0, 0, 0, .55);
}
.lg-lab.odd { background: #47321F; }
.lg-lab-in {
  position: sticky; top: calc(var(--lg-dh-h, 60px) + 8px); margin: 10px 8px; padding: 8px 9px; border-radius: 3px;
  background: #F1E3C4; color: #2A1F14; border-left: 5px solid var(--ln); box-shadow: 0 2px 4px rgba(0, 0, 0, .35);
}
.lg-lab.p-client .lg-lab-in { background: var(--lg-kraft); }
.lg-lab-in b { display: block; font-family: var(--case-serif, serif); font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
.lg-lab-in small { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-top: 4px; font: 600 11.5px var(--case-mono, var(--mono)); color: #6A5E4D; }
.lg-lab-in em { font-style: normal; padding: 0 5px; border-radius: 3px; background: rgba(30, 27, 22, .1); color: #4E4639; }
/* 格子：泳道 × 日期 */
.lg-cell {
  position: relative; z-index: 2; box-sizing: border-box; min-width: 0; min-height: 76px;
  display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: 16px 10px 14px;
  border-top: 1px dashed rgba(255, 240, 215, .22); border-left: 1px dashed rgba(255, 240, 215, .12);
}
.lg-cell.odd { background: rgba(255, 240, 215, .045); }
.lg-cell.today { background: rgba(194, 39, 31, .14); }
.lg-cell .lg-note { width: 100%; }

/* 便笺 */
.lg-note {
  position: relative; box-sizing: border-box; width: 196px; padding: 13px 11px 9px; cursor: pointer;
  background: var(--lg-paper); color: var(--lg-ink); border-top: 5px solid var(--ln, var(--lg-ink));
  border-radius: 2px 2px 4px 4px; transform: rotate(var(--tilt, 0deg));
  box-shadow: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 6px 12px rgba(25, 12, 0, .35), 0 1px 2px rgba(25, 12, 0, .3);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.lg-cell .lg-note:nth-child(3n) { --tilt: -.8deg; }
.lg-cell .lg-note:nth-child(3n+1) { --tilt: .6deg; }
.lg-note::before {
  content: ''; position: absolute; left: 50%; top: -7px; width: 13px; height: 13px; margin-left: -6.5px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #FF8B80, var(--lg-red) 55%, #6E0F0A); box-shadow: 0 2px 3px rgba(0, 0, 0, .45);
}
.lg-note.p-client { background: var(--lg-kraft); border-top-color: var(--lg-kraft-ink); }
.lg-note.p-client::before { /* 牛皮纸用胶带代替图钉 */
  width: 54px; height: 16px; top: -9px; margin-left: -27px; border-radius: 1px;
  background: rgba(255, 250, 235, .55); box-shadow: 0 1px 2px rgba(0, 0, 0, .15); transform: rotate(-3deg);
}
/* 甲方里程碑：放在甲方一堆里的牛皮纸，加一圈红色印章边 */
.lg-note.is-ms { box-shadow: inset 0 0 0 2.5px var(--lg-red), 0 6px 12px rgba(25, 12, 0, .35); border-top-color: var(--lg-red); }
.lg-note.is-ms header code { color: var(--lg-red); font-weight: 700; }
.lg-note.is-ms h4 { color: #7E1712; }
.lg-note:hover { transform: rotate(0deg) translateY(-2px); box-shadow: 0 12px 22px rgba(25, 12, 0, .42); z-index: 4; }
.lg-note:focus-visible { outline: 3px solid #FFD36B; outline-offset: 4px; }
.lg-note.focus { outline: 3px solid #FFD36B; outline-offset: 5px; transform: rotate(0deg); z-index: 5; }
.lg-note.inchain { box-shadow: 0 0 0 2px rgba(255, 211, 107, .85), 0 8px 16px rgba(25, 12, 0, .4); }
.lg-note.dim { opacity: .3; }
.lg-note.flash { animation: lg-flash 1.2s ease 1; }
@keyframes lg-flash { 0%, 100% { box-shadow: 0 6px 12px rgba(25, 12, 0, .35); } 30% { box-shadow: 0 0 0 6px rgba(255, 211, 107, .95); } }
.lg-note header { display: flex; justify-content: space-between; align-items: center; gap: 6px; font: 600 12px var(--case-mono, var(--mono)); color: #6A5E4D; }
.lg-st { font: 600 11px var(--font, inherit); padding: 1px 6px; border-radius: 8px; background: rgba(30, 27, 22, .08); }
.lg-st.s-doing { background: rgba(47, 93, 138, .16); color: #2F5D8A; }
.lg-st.s-done { background: rgba(60, 122, 78, .16); color: #3C7A4E; }
.lg-st.s-blocked, .lg-note.late .lg-st { background: var(--lg-red-soft); color: var(--lg-red); }
.lg-note h4 { margin: 5px 0 5px; font-family: var(--case-serif, serif); font-size: 14.5px; line-height: 1.4; font-weight: 700; }
.lg-when { margin: 0; display: flex; flex-wrap: wrap; gap: 2px 10px; font-size: 12.5px; color: #4E4639; }
.lg-when b { font-family: var(--case-mono, var(--mono)); color: var(--lg-ink); }
.lg-dur { font: 600 11.5px var(--case-mono, var(--mono)); color: #6A5E4D; }
.lg-due { margin: 4px 0 0; font-size: 12px; font-weight: 700; color: var(--lg-red); }
.lg-gist {
  margin: 6px 0 0; font-size: 12.5px; line-height: 1.55; color: #3B342A;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.lg-lane { margin: 6px 0 0; font-size: 12px; color: #6A5E4D; }
.lg-lane::before { content: ''; display: inline-block; width: 10px; height: 4px; border-radius: 2px; margin-right: 5px; vertical-align: middle; background: var(--ln); }
.lg-links { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; font-size: 11.5px; }
.lg-links > span { color: #6A5E4D; font-weight: 600; margin-right: 2px; }
.lg-wait > span { color: var(--lg-red); }
.lg-bad { margin: 6px 0 0; font-size: 12px; color: var(--lg-red); font-weight: 700; }
.lg-note.bad { box-shadow: 0 0 0 2px var(--lg-red), 0 6px 12px rgba(25, 12, 0, .35); }

/* 编号引用（便笺内、摘要、详情里通用） */
.lg-ref {
  all: unset; cursor: pointer; box-sizing: border-box; max-width: 100%; display: inline-flex; gap: 4px; align-items: baseline;
  padding: 1px 6px; border-radius: 3px; font-size: 11.5px; line-height: 1.5; color: #2A1F14; background: rgba(30, 27, 22, .07);
  white-space: normal; overflow-wrap: anywhere;
}
.lg-ref code { font: 700 11px var(--case-mono, var(--mono)); }
.lg-ref.ext { background: rgba(138, 106, 62, .22); }
.lg-wait .lg-ref { background: var(--lg-red-soft); color: #7E1712; }
.lg-ref.done { text-decoration: line-through; opacity: .7; }
.lg-ref:hover { background: rgba(255, 211, 107, .6); }
.lg-ref:focus-visible { outline: 2px solid var(--lg-red); }
.lg-links .lg-ref { max-width: 172px; }
.lg-ref.short { padding: 0 5px; }
.lg-today-list .lg-ref { font-size: 12.5px; padding: 3px 8px; }

/* 红色牵丝 */
.lg-strings-svg { position: absolute; left: 0; top: 0; pointer-events: none; z-index: 1; overflow: visible; }
.lg-strings-svg.front { z-index: 6; }
.lg-strings-svg path.str { fill: none; stroke: #D8352B; stroke-width: 1.4; opacity: .55; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .35)); }
.lg-strings-svg path.str.ext { stroke-width: 2.2; opacity: .75; }
.lg-strings-svg path.str.bad { stroke-dasharray: 6 4; stroke: #FF5A4E; opacity: .95; }
.lg-strings-svg path.str.near, .lg-strings-svg path.str.hot { stroke: #FF3B2F; stroke-width: 3; opacity: 1; }
.lg-strings-svg path.str.faded { opacity: .1; }
.lg-strings-svg .pin { fill: #B5221A; stroke: #FFB0A8; stroke-width: 1; }

/* 待定信封 */
.lg-envelope { padding: 16px 18px; border-radius: 6px; background: #E9DCC2; border: 1px dashed #8A6A3E; }
.lg-envelope h3 { margin: 0 0 4px; font-family: var(--case-serif, serif); }
.lg-envelope-notes { display: flex; flex-wrap: wrap; gap: 16px 12px; margin-top: 14px; }

/* 图例 */
.lg-legend { line-height: 2; }
.lg-k { display: inline-block; width: 16px; height: 10px; margin: 0 4px 0 10px; vertical-align: middle; border-radius: 2px; }
.lg-k-note { background: var(--lg-paper); border-top: 3px solid var(--lg-ln-0); box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }
.lg-k-ext { background: var(--lg-kraft); box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }
.lg-k-ms { border: 2px solid var(--lg-red); }
.lg-k-str { height: 2px; background: #D8352B; }
.lg-k-bad { height: 0; border-top: 2px dashed #FF5A4E; }

/* 详情抽屉 */
.lg-detail-refs { display: flex; flex-wrap: wrap; gap: 4px; }
.lg-line { margin: 12px 0; padding: 10px 12px; border-radius: 6px; background: var(--fill); }
.lg-line-title { font-weight: 700; font-size: 13px; margin-bottom: 6px; }
.lg-line ol { list-style: none; margin: 0; padding: 0 0 0 12px; border-left: 2px solid var(--lg-red); display: flex; flex-direction: column; gap: 4px; }
.lg-line li { display: flex; gap: 8px; align-items: baseline; font-size: 12.5px; }
.lg-line li time { font: 600 11.5px var(--case-mono, var(--mono)); color: var(--text-2); width: 40px; flex: none; }
.lg-line li.me .lg-ref { background: #FFD36B; }

/* ---------- 全屏：板子铺满屏幕，压在顶栏、侧栏之上；详情抽屉再压在板子上 ---------- */
html.lg-lock, html.lg-lock body { overflow: hidden !important; overscroll-behavior: none; }
html.lg-lock :has(.lg-full) { opacity: 1 !important; transform: none !important; filter: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; animation: none !important; contain: none !important; }
.lg-board.lg-full {
  position: fixed; inset: 0; z-index: 2000; border-radius: 0; box-sizing: border-box;
  padding: calc(env(safe-area-inset-top) + 8px) calc(env(safe-area-inset-right) + 8px) calc(env(safe-area-inset-bottom) + 8px) calc(env(safe-area-inset-left) + 8px);
}
.lg-full .lg-frame { flex: 1; max-height: none; min-height: 0; }
html.lg-lock .modal-overlay { z-index: 2100; }

/* ---------- 窄屏 ---------- */
@media (max-width: 1180px) { .lg-dossier { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .lg-file-ext { grid-column: 1 / -1; grid-row: 1; } }
@media (max-width: 820px) {
  .lg-head { padding: 16px 14px; }
  .lg-title { font-size: 21px; }
  .lg-dossier { grid-template-columns: minmax(0, 1fr); }
  .lg-file-ext { grid-row: auto; }
  .lg-ext-list { grid-template-columns: minmax(0, 1fr); }
  .lg-board { padding: 6px; box-shadow: inset 0 0 0 5px #3B2A1C, inset 0 0 40px rgba(20, 10, 0, .45); }
  .lg-frame { max-height: calc(100vh - var(--lg-stick, 80px) - var(--lg-bar-h, 40px) - 20px); max-height: calc(100dvh - var(--lg-stick, 80px) - var(--lg-bar-h, 40px) - 20px); }
  .lg-grid { --lab-w: 92px; --col-w: 184px; }
  .lg-corner { padding: 6px; font-size: 11px; min-height: 52px; }
  .lg-dh { padding: 6px 4px; }
  .lg-datetag { font-size: 13px; padding: 3px 7px; }
  .lg-lab-in { margin: 8px 4px; padding: 6px 6px; border-left-width: 4px; }
  .lg-lab-in b { font-size: 12.5px; }
  .lg-lab-in small { font-size: 10.5px; }
  .lg-cell { padding: 14px 6px 12px; gap: 14px; }
  .lg-note { padding: 12px 9px 8px; }
  .lg-note h4 { font-size: 13.5px; }
  .lg-links .lg-ref { max-width: 100%; }
  .lg-toolbar select { max-width: 100%; }
  .lg-envelope-notes { flex-direction: column; }
  .lg-envelope-notes .lg-note { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .lg-note { transition: none; } .lg-note.flash { animation: none; } }
@media (max-width: 820px) {
  .lg-ext-list li:nth-child(n+5), .lg-today-list .lg-ref:nth-child(n+7) { display: none; }
  .lg-file-ext::after { content: '其余甲方事项见下方板上外部审批、甲方技术信息清单等泳道的牛皮纸卡片'; display: block; margin-top: 8px; font-size: 12px; color: #6A5E4D; }
}

/* 完成标准：做到什么样算完成（取需求原文） */
.lg-accept { margin: 6px 0 0; font-size: 12px; line-height: 1.5; color: #3B342A; }
.lg-accept b { display: inline-block; margin-right: 6px; padding: 0 5px; border-radius: 3px; background: rgba(60, 122, 78, .14); color: #2F6B40; font-size: 11px; }
