/* 全社の事業継続。style.css・flow.css・cm.css の上に重ねる（接頭辞 bc-） */
.bc-h4 { margin: 0 0 8px; font-size: 14px; display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.bc-h5 { margin: 12px 0 6px; font-size: 12.5px; color: var(--ink2); }
.bc-tips { margin-top: 12px; }
.bc-nl { display: block; margin: 6px 0 0; }
.bc-sm { margin: 8px 0 0; font-size: 12px; color: var(--muted); }

/* 操作の枠 */
.bc-ctl { padding: 12px 14px; display: grid; gap: 8px; margin-bottom: 10px; }
.bc-crow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.bc-crow[hidden] { display: none; }
.bc-lab { font-size: 12.5px; font-weight: 700; color: var(--muted); min-width: 6.5em; }
.bc-q { margin: 2px 0 0; font-size: 13px; color: var(--ink2); background: var(--line2); border-radius: 8px; padding: 7px 11px; }
.bc-lnote { margin: 0; font-size: 12px; color: var(--muted); }
.bc-chgn { display: inline-block; font-size: 11.5px; font-weight: 700; color: #92400e; background: #fef3c7; border-radius: 999px; padding: 0 8px; margin-left: 4px; }

/* 番号と優先度の札 */
.bc-no { flex: none; display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 5px; border-radius: 12px; background: var(--line); color: var(--ink2); font: 600 12px/24px var(--latin); }
.bc-nob { background: #0f172a; color: #fff; }
.bc-nos { min-width: 20px; height: 20px; font-size: 11px; line-height: 20px; }
.bc-grade { flex: none; font-style: normal; display: inline-grid; place-items: center; min-width: 22px; height: 22px; border-radius: 6px; font: 600 11.5px/22px var(--latin); }
.bc-g-S { background: #fee2e2; color: #991b1b; }
.bc-g-A { background: #ffedd5; color: #9a3412; }
.bc-g-B { background: #fef9c3; color: #854d0e; }
.bc-g-C { background: #e0f2fe; color: #075985; }
.bc-g-D { background: #e2e8f0; color: #334155; }
.bc-g-E { background: #f1f5f9; color: #475569; }

/* 業務の一覧と詳しい所 */
.bc-imp { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 10px; align-items: start; }
.bc-bizlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.bc-biz { background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 9px 11px; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.bc-biz.bc-on { border-color: #86efac; background: #f7fef9; }
.bc-bhd { display: flex; align-items: flex-start; gap: 6px; }
.bc-bpick { appearance: none; font: inherit; text-align: left; cursor: pointer; display: flex; gap: 8px; align-items: flex-start; flex: 1; min-width: 0; color: var(--ink); background: transparent; border: 1px solid transparent; border-radius: 8px; padding: 3px 5px; margin: -3px -5px; }
.bc-bpick:hover { border-color: #94a3b8; background: var(--paper); }
.bc-bpick[aria-pressed="true"] { border-color: #15803d; }
.bc-bn { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.bc-bn b { font-size: 13.5px; }
.bc-bn small { font-size: 11.5px; color: var(--muted); }
.bc-dn { margin: 0; font-size: 12.5px; color: var(--ink2); }
.bc-tol .pill { font-size: 12px; padding: 4px 10px; }
.bc-chg { margin: 0; font-size: 11.5px; color: #92400e; }
.bc-detail { padding: 12px 14px; min-width: 0; position: sticky; top: 12px; }
.bc-dh { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.bc-dh .bc-h4 { margin: 0; }
.bc-tline { margin: 8px 0 6px; font-size: 13px; color: var(--ink2); }
.bc-steps-t { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.bc-steps-t li { display: grid; grid-template-columns: 4.6em minmax(0, 1fr); gap: 8px; align-items: baseline; font-size: 12.5px; border-radius: 8px; padding: 5px 8px; }
.bc-steps-t li b { font: 600 12px var(--latin); white-space: nowrap; }
.bc-steps-t li.bc-in { background: var(--any-bg); color: var(--ink2); border: 1px solid var(--line2); }
.bc-steps-t li.bc-out { background: #fef2f2; color: #7f1d1d; border: 1px solid #fecaca; }
.bc-alt { margin-top: 10px; background: #f0fdf4; border-radius: 10px; padding: 8px 11px; }
.bc-alt b { font-size: 12.5px; color: #14532d; }
.bc-alt p { margin: 4px 0 0; font-size: 12.5px; color: var(--ink2); }

/* 戻す順番 */
.bc-ord { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 10px; align-items: start; }
.bc-ocard, .bc-ores { padding: 12px 14px; min-width: 0; }
.bc-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.bc-step { display: grid; grid-template-columns: 3.2em minmax(0, 1fr) auto auto; gap: 6px 10px; align-items: center; border: 1px solid var(--line); border-radius: 10px; padding: 7px 10px; background: var(--paper); }
.bc-step.bc-k-part { background: var(--any-bg); border-style: dashed; }
.bc-step.bc-s-gap { border-color: #fca5a5; background: #fffafa; }
.bc-step.bc-s-ok { border-color: #bbf7d0; }
.bc-sn { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; }
.bc-sn b { font: 600 15px var(--latin); }
.bc-up, .bc-down, .bc-same { font: 600 11px var(--latin); }
.bc-up { color: #b91c1c; }
.bc-down { color: #15803d; }
.bc-same { color: var(--muted); }
.bc-sbody { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bc-sname { font-size: 13.5px; font-weight: 700; display: flex; align-items: flex-start; gap: 6px; }
.bc-snm { min-width: 0; }
.bc-kt { flex: none; font-style: normal; font-size: 11px; font-weight: 700; color: #334155; background: #e2e8f0; border-radius: 6px; padding: 0 6px; margin-top: 2px; }
.bc-ssub { font-size: 11.5px; color: var(--muted); }
.bc-snote { font-size: 11.5px; color: #78350f; }
.bc-st0 { display: flex; align-items: center; gap: 6px; justify-self: end; }
.bc-tgt { font-size: 12.5px; color: var(--ink2); white-space: nowrap; }
.bc-st { display: flex; flex-direction: column; align-items: flex-end; font-size: 12.5px; font-weight: 700; white-space: nowrap; min-width: 6em; text-align: right; }
.bc-st small { font-size: 11px; font-weight: 500; }
.bc-st-none { color: var(--muted); font-weight: 500; }
.bc-st-ok { color: #15803d; }
.bc-st-gap { color: #b91c1c; }
.bc-kpis { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.bc-kpi { background: var(--any-bg); border: 1px solid var(--line); border-radius: 10px; padding: 7px 10px; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.bc-kpi dt { font-size: 11.5px; font-weight: 700; color: var(--muted); }
.bc-kpi dd { margin: 0; font-size: 15px; font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.bc-kpi small { font-size: 11.5px; color: var(--ink2); }
.bc-kpi.bc-ok { background: #f0fdf4; border-color: #bbf7d0; }
.bc-kpi.bc-ok dd { color: #14532d; }
.bc-kpi.bc-mid { background: #fffbeb; border-color: #fde68a; }
.bc-kpi.bc-mid dd { color: #78350f; }
.bc-kpi.bc-ng { background: #fef2f2; border-color: #fecaca; }
.bc-kpi.bc-ng dd { color: #7f1d1d; }
.bc-notes { margin: 10px 0 0; padding-left: 1.2em; font-size: 12.5px; color: var(--ink2); display: grid; gap: 4px; }

/* 体制と発動の練習 */
.bc-rcard { padding: 12px 14px; }
.bc-tbl { font-size: 12.5px; }
.bc-tbl th, .bc-tbl td { padding: 6px 8px; }
.bc-roles { min-width: 760px; }
.bc-roles td:first-child { font-weight: 700; min-width: 13em; }
.bc-rules { padding: 12px 14px; margin-bottom: 10px; }
.bc-rules ol { margin: 0; padding-left: 1.4em; font-size: 13px; color: var(--ink2); display: grid; gap: 3px; }
.bc-trigs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.bc-trow { background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 9px 11px; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.bc-trow.bc-tok { border-color: #86efac; background: #f7fef9; }
.bc-trow.bc-tng { border-color: #fecaca; background: #fffafa; }
.bc-ttt { display: flex; flex-direction: column; gap: 2px; }
.bc-ttt b { font-size: 12.5px; color: var(--muted); }
.bc-ttt span { font-size: 13.5px; }
.bc-tans { margin: 0; font-size: 12.5px; color: var(--ink2); background: var(--line2); border-radius: 8px; padding: 6px 10px; }
.bc-tfoot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 10px; }
.bc-tsum { font-size: 13px; color: var(--ink2); }

/* 訓練の 1 年 */
.bc-dr { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 10px; align-items: start; }
.bc-drcard, .bc-drres { padding: 12px 14px; min-width: 0; }
.bc-drbtns { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.bc-drills { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.bc-drill { border: 1px solid var(--line); border-radius: 12px; padding: 8px 11px; background: var(--paper); }
.bc-drill.bc-don { background: #f0fdf4; border-color: #86efac; }
.bc-dhd { display: flex; align-items: flex-start; gap: 8px; }
.bc-dtt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.bc-dtt b { font-size: 13.5px; }
.bc-dtt small { font-size: 11.5px; color: var(--muted); }
.bc-tog { appearance: none; flex: none; font: inherit; font-size: 12px; font-weight: 700; border: 1px solid var(--line); background: var(--paper); color: var(--ink2); border-radius: 999px; padding: 4px 11px; cursor: pointer; white-space: nowrap; }
.bc-tog:hover { border-color: #94a3b8; color: var(--ink); }
.bc-tog[aria-pressed="true"] { background: #15803d; border-color: #15803d; color: #fff; }
.bc-dtest { margin: 6px 0 0; font-size: 12px; color: var(--ink2); }
.bc-dlink { margin: 4px 0 0; font-size: 12px; }
.bc-kind { font-style: normal; font-size: 11px; font-weight: 700; border-radius: 6px; padding: 0 7px; margin-right: 6px; background: var(--line2); color: var(--ink2); white-space: nowrap; }
.bc-kexec { background: #dbeafe; color: #1e3a8a; }
.bc-kai { background: #ede9fe; color: #5b21b6; }
.bc-kq { background: #fef3c7; color: #78350f; }
.bc-lv { display: flex; gap: 10px; align-items: flex-start; background: var(--any-bg); border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; }
.bc-lvn { flex: none; font: 600 15px var(--latin); color: #14532d; background: #dcfce7; border-radius: 8px; padding: 4px 9px; white-space: nowrap; }
.bc-lv p { margin: 0; font-size: 12.5px; color: var(--ink2); }
.bc-levels { margin: 8px 0 0; padding-left: 0; list-style: none; display: grid; gap: 3px; font-size: 12px; color: var(--muted); }
.bc-levels li { border-radius: 6px; padding: 3px 7px; }
.bc-levels li b { color: var(--ink2); margin-right: 4px; }
.bc-levels li.bc-lvon { background: #f0fdf4; color: #14532d; outline: 1px solid #86efac; }
.bc-gaps { margin: 0; padding-left: 1.2em; font-size: 12.5px; color: #7f1d1d; display: grid; gap: 3px; }
.bc-cal { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 12.5px; }
.bc-cal li { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); gap: 8px; }
.bc-cal b { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* AI 時代 */
.bc-ainote { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }

/* 残す形 */
.bc-tpls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; margin-top: 10px; align-items: start; }
.bc-tpl { padding: 12px 14px; min-width: 0; }
.bc-tpl-wide { grid-column: 1 / -1; }
.bc-tplh { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.bc-tplh .bc-h4 { margin: 0; }
.bc-pre { margin: 0; background: #0f172a; color: #e2e8f0; border-radius: 8px; padding: 9px 11px; font: 500 11.5px/1.6 var(--latin); white-space: pre-wrap; overflow-wrap: anywhere; max-height: 480px; overflow-y: auto; }
.bc-itbl { min-width: 1300px; }
.bc-ctbl { min-width: 980px; }
.bc-itbl td, .bc-ctbl td { vertical-align: top; }
.bc-itbl td:first-child, .bc-ctbl td:first-child { font-weight: 700; min-width: 11em; }
.bc-itbl td:nth-child(7), .bc-itbl td:nth-child(8) { min-width: 18em; }
.bc-itbl td:nth-child(4), .bc-itbl td:nth-child(5), .bc-itbl td:nth-child(6) { white-space: nowrap; }

.bc-bpick:focus-visible, .bc-tog:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }

@media (max-width: 1100px) {
  .bc-imp, .bc-ord, .bc-dr, .bc-tpls { grid-template-columns: minmax(0, 1fr); }
  .bc-detail { position: static; }
}
@media (max-width: 760px) {
  .bc-bizlist, .bc-trigs, .bc-kpis { grid-template-columns: minmax(0, 1fr); }
  .bc-lab { min-width: 0; width: 100%; }
  .bc-step { grid-template-columns: 2.6em minmax(0, 1fr); }
  .bc-st0, .bc-st { grid-column: 2; justify-self: start; align-items: flex-start; text-align: left; }
}
