.v4-command-center {
  margin-block: 30px 46px;
  padding: clamp(20px, 3vw, 34px);
  border: 3px solid var(--ink, #213547);
  border-radius: 34px;
  background:
    radial-gradient(circle at 8% 8%, rgba(255, 101, 163, .22) 0 10%, transparent 11%),
    radial-gradient(circle at 92% 4%, rgba(255, 216, 61, .3) 0 11%, transparent 12%),
    #fff9ea;
  box-shadow: 10px 12px 0 var(--ink, #213547);
}

.v4-heading { margin-bottom: 22px; }

.v4-live-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.v4-live-strip article {
  min-width: 0;
  padding: 13px;
  border: 2px solid var(--ink, #213547);
  border-radius: 18px;
  background: #fff;
  box-shadow: 3px 4px 0 var(--ink, #213547);
}

.v4-live-strip article:nth-child(1) { background: #e7fbf4; }
.v4-live-strip article:nth-child(2) { background: #e8f5ff; }
.v4-live-strip article:nth-child(3) { background: #fff1a9; }
.v4-live-strip article:nth-child(4) { background: #dff8ff; }
.v4-live-strip article:nth-child(5) { background: #efe7ff; }
.v4-live-strip article:nth-child(6) { background: #ffe6f1; }

.v4-live-strip span,
.v4-live-strip strong,
.v4-live-strip small { display: block; overflow-wrap: anywhere; }
.v4-live-strip span { font-size: 11px; font-weight: 900; letter-spacing: .06em; color: #617080; }
.v4-live-strip strong { margin: 5px 0 3px; font-size: 15px; line-height: 1.3; }
.v4-live-strip small { font-size: 11px; color: #5c6975; line-height: 1.35; }
.v4-live-strip article.is-offline { background: #eee; filter: saturate(.35); }
.v4-live-strip article.is-warning { background: #ffe0d3; }
.v4-live-strip article.is-live strong::before { content: "● "; color: #0a9c67; }
.v4-live-strip article.is-warning strong::before { content: "● "; color: #e37723; }
.v4-live-strip article.is-offline strong::before { content: "● "; color: #7d8790; }

.v4-command-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 18px;
}

.v4-board {
  min-width: 0;
  padding: clamp(18px, 2vw, 26px);
  border: 3px solid var(--ink, #213547);
  border-radius: 27px;
  background: #fff;
}

.evidence-board { background: #fff0f7; }
.coordinate-board { background: #fff3b7; }
.v4-board > p { color: #526473; line-height: 1.65; }
.v4-board button {
  padding: 8px 11px;
  border: 2px solid var(--ink, #213547);
  border-radius: 10px;
  background: #ffd83d;
  color: var(--ink, #213547);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 2px 3px 0 var(--ink, #213547);
}
.v4-board button:hover { transform: translateY(-1px); }
.v4-board button:disabled { cursor: not-allowed; filter: grayscale(.7); opacity: .62; box-shadow: none; }

.maintenance-cockpit {
  margin: 16px 0 18px;
  padding: 13px;
  border: 3px solid #203548;
  border-radius: 21px;
  background: #fff8e8;
  box-shadow: 6px 7px 0 #203548;
}
.maintenance-cockpit-title,
.cockpit-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.maintenance-cockpit-title p { margin: 0 0 3px; color: #654adf; font-size: 10px; font-weight: 950; letter-spacing: .12em; }
.maintenance-cockpit-title h4 { margin: 0; font-size: 1.25rem; }
.maintenance-cockpit-title > span { padding: 5px 8px; border: 2px solid #203548; border-radius: 999px; background: #20cbd4; font-size: 10px; font-weight: 950; white-space: nowrap; }
.cockpit-quota { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 12px; margin: 13px 0; padding: 12px; border: 2px solid #203548; border-radius: 15px; background: #ffd83d; }
.cockpit-quota strong { font-size: 1.05rem; }
.cockpit-quota small { color: #455b6b; line-height: 1.45; }
.cockpit-quota time { grid-row: 1 / 3; grid-column: 2; align-self: center; font: 950 1.35rem/1.1 ui-monospace, Consolas, monospace; color: #203548; }
.cockpit-quota.is-waiting { background: #ffcfbc; }
.cockpit-preflight { margin: 13px 0; padding: 12px; border: 2px solid #203548; border-radius: 16px; background: #e6fbfc; }
.cockpit-preflight > header { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.cockpit-preflight > header p { margin: 0 0 3px; color: #203548; font-size: 9px; font-weight: 950; letter-spacing: .13em; }
.cockpit-preflight > header h5 { margin: 0; font-size: 1.05rem; }
.cockpit-preflight > header label { display: flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 900; white-space: nowrap; }
.cockpit-preflight > header select { width: auto; min-width: 76px; padding: 6px 28px 6px 9px; border: 2px solid #203548; border-radius: 9px; background: #fff; color: #203548; font: inherit; font-weight: 900; }
.cockpit-preflight-ticket { display: grid; grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(92px, .45fr)); gap: 8px; margin-top: 10px; }
.cockpit-preflight-ticket > span { min-width: 0; padding: 10px; border: 2px solid #203548; border-radius: 12px; background: #fff; }
.cockpit-preflight-ticket > span:first-child { background: #20cbd4; }
.cockpit-preflight-ticket > span strong,
.cockpit-preflight-ticket > span small { display: block; }
.cockpit-preflight-ticket > span small { margin-top: 3px; color: #455b6b; line-height: 1.35; }
.cockpit-preflight-ticket.is-cautious > span:first-child { background: #ffd83d; }
.cockpit-preflight-ticket.is-blocked > span:first-child { background: #e63b52; color: #fff; }
.cockpit-preflight-ticket.is-blocked > span:first-child small { color: #fff; }
.cockpit-preflight-endpoints { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 9px; }
.cockpit-preflight-endpoint { min-width: 0; padding: 9px; border: 2px solid #203548; border-radius: 11px; background: #fff; }
.cockpit-preflight-endpoint strong,
.cockpit-preflight-endpoint small { display: block; overflow-wrap: anywhere; }
.cockpit-preflight-endpoint small { margin-top: 3px; color: #5e6f7c; line-height: 1.4; }
.cockpit-preflight-endpoint b { display: inline-block; margin-top: 7px; padding: 2px 6px; border-radius: 999px; background: #ffd83d; font-size: 9px; }
.cockpit-preflight-endpoint.is-closed b { background: #20cbd4; }
.cockpit-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 10px; }
.cockpit-panel { min-width: 0; padding: 11px; border: 2px solid #203548; border-radius: 14px; background: #fff; }
.cockpit-panel summary { cursor: pointer; font-weight: 950; }
.cockpit-panel summary span { float: right; padding: 2px 7px; border-radius: 999px; background: #203548; color: #fff; font-size: 10px; }
.cockpit-panel h5 { margin: 0; font-size: .98rem; }
.cockpit-panel header small { max-width: 180px; color: #657481; text-align: right; line-height: 1.35; }
.cockpit-blockers { grid-row: span 3; background: #f7fbff; }
.cockpit-scroll { display: grid; gap: 7px; margin-top: 10px; max-height: 490px; overflow: auto; scrollbar-gutter: stable; }
.cockpit-route-row,
.cockpit-leverage-row,
.cockpit-fuse-row,
.cockpit-ledger-row { padding: 9px; border-radius: 11px; background: #f3f1eb; }
.cockpit-route-row strong,
.cockpit-route-row small,
.cockpit-leverage-row strong,
.cockpit-leverage-row small,
.cockpit-fuse-row strong,
.cockpit-fuse-row small { display: block; }
.cockpit-route-row small,
.cockpit-leverage-row small,
.cockpit-fuse-row small { margin-top: 3px; color: #5e6f7c; line-height: 1.42; }
.cockpit-route-row.is-fused { border: 2px solid #e63b52; background: #ffe4e8; }
.cockpit-route-row.is-fused strong::before { content: "熔断 "; display: inline-block; margin-right: 5px; padding: 2px 5px; border-radius: 6px; background: #e63b52; color: #fff; font-size: 9px; vertical-align: 2px; }
.cockpit-leverage { background: #e6fbfc; }
.cockpit-leverage-list { display: grid; gap: 7px; margin-top: 10px; }
.cockpit-leverage-row { position: relative; padding-right: 60px; background: #fff; }
.cockpit-leverage-row b { position: absolute; top: 9px; right: 9px; min-width: 38px; padding: 4px 6px; border: 2px solid #203548; border-radius: 9px; background: #ffd83d; text-align: center; }
.cockpit-fuses { background: #ffe4e8; }
.cockpit-fuse-list { display: grid; gap: 7px; margin-top: 10px; }
.cockpit-fuse-row { border-left: 8px solid #e63b52; background: #fff; }
.cockpit-ledger { background: #f0ebff; }
.cockpit-ledger-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 10px; }
.cockpit-ledger-row { text-align: center; background: #fff; }
.cockpit-ledger-row strong,
.cockpit-ledger-row small { display: block; }
.cockpit-ledger-row strong { font-size: 1.15rem; }
.cockpit-batch-receipt { margin-top: 9px; padding: 10px; border: 2px solid #203548; border-radius: 13px; background: #fff8e8; }
.cockpit-batch-receipt.is-open { border-color: #e63b52; background: #ffe4e8; }
.cockpit-batch-receipt header { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }
.cockpit-batch-receipt header span,
.cockpit-batch-receipt header small,
.cockpit-batch-receipt header strong { display: block; }
.cockpit-batch-receipt header small { margin-bottom: 3px; color: #526775; font-size: 8px; font-weight: 950; letter-spacing: .12em; }
.cockpit-batch-receipt header b { min-width: 46px; padding: 5px 6px; border: 2px solid #203548; border-radius: 9px; background: #20cbd4; text-align: center; }
.cockpit-batch-receipt.is-open header b { background: #e63b52; color: #fff; }
.cockpit-coverage { height: 9px; margin-top: 9px; overflow: hidden; border: 2px solid #203548; border-radius: 999px; background: #fff; }
.cockpit-coverage i { display: block; height: 100%; background: #20cbd4; }
.cockpit-batch-receipt.is-open .cockpit-coverage i { background: #e63b52; }
.cockpit-outcome-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.cockpit-outcome-chips span { padding: 3px 6px; border: 1.5px solid #203548; border-radius: 999px; background: #ffd83d; font-size: 9px; font-weight: 900; }
.cockpit-batch-receipt p { margin: 8px 0 0; color: #526775; line-height: 1.45; }
.cockpit-field-queue,
.cockpit-rescue-queue { margin-top: 9px; padding: 9px; border: 2px solid #203548; border-radius: 12px; background: #e6fbfc; }
.cockpit-rescue-queue { border-left: 8px solid #e63b52; background: #fff3b7; }
.cockpit-field-queue summary,
.cockpit-rescue-queue summary { cursor: pointer; font-weight: 950; }
.cockpit-field-queue summary span,
.cockpit-rescue-queue summary span { float: right; padding: 2px 7px; border-radius: 999px; background: #203548; color: #fff; font-size: 9px; }
.cockpit-rescue-queue summary span { background: #e63b52; }
.cockpit-field-queue > div,
.cockpit-rescue-queue > div { display: grid; gap: 7px; margin-top: 8px; }
.cockpit-handoff-card { min-width: 0; padding: 9px; border: 2px solid #203548; border-radius: 10px; background: #fff; }
.cockpit-rescue-queue .cockpit-handoff-card { border-left: 6px solid #e63b52; }
.cockpit-handoff-card header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; }
.cockpit-handoff-card header span,
.cockpit-handoff-card strong,
.cockpit-handoff-card small { display: block; overflow-wrap: anywhere; }
.cockpit-handoff-card small { margin-top: 3px; color: #526775; line-height: 1.4; }
.cockpit-route-impact { min-width: 43px; padding: 4px 6px; border: 2px solid #203548; border-radius: 9px; background: #ffd83d; text-align: center; }
.cockpit-route-impact small { margin: 1px 0 0; color: #203548; font-size: 8px; line-height: 1.1; }
.cockpit-task-list { display: grid; gap: 4px; margin: 8px 0 0; padding-left: 22px; color: #203548; line-height: 1.4; }
.cockpit-task-list li::marker { color: #e63b52; font-weight: 950; }
.cockpit-handoff-card p { margin: 8px 0 0; padding: 6px 7px; border-radius: 7px; background: #fff1a9; color: #526775; line-height: 1.4; }
.cockpit-handoff-card p strong { display: inline; color: #e63b52; }
.cockpit-handoff-actions { display: flex; justify-content: flex-end; margin-top: 8px; }
.cockpit-handoff-actions button { padding: 6px 9px; background: #fff8e8; font-size: 10px; }
.cockpit-handoff-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: center; margin-top: 9px; padding: 9px; border: 2px dashed #203548; border-radius: 12px; background: #20cbd4; }
.cockpit-handoff-tools strong,
.cockpit-handoff-tools small { display: block; overflow-wrap: anywhere; }
.cockpit-handoff-tools small { margin-top: 2px; color: #304a59; line-height: 1.35; }
.cockpit-handoff-tools button { white-space: nowrap; }
.cockpit-field-queue > p,
.cockpit-rescue-queue > p { margin: 8px 0 0; color: #526775; }
.cockpit-empty { margin: 10px 0 0; color: #657481; line-height: 1.5; }

.v4-board-title { display: flex; gap: 12px; align-items: center; }
.v4-board-title > span { display: grid; place-items: center; width: 49px; height: 49px; border: 2px solid var(--ink, #213547); border-radius: 16px; background: #fff; font-size: 24px; transform: rotate(-3deg); }
.v4-board-title p { margin: 0 0 3px; color: #6747e8; font-size: 11px; font-weight: 950; letter-spacing: .1em; }
.v4-board-title h3 { margin: 0; font-size: clamp(21px, 2vw, 28px); }

.v4-evidence-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0;
}
.v4-evidence-summary span {
  padding: 7px 10px;
  border: 2px solid var(--ink, #213547);
  border-radius: 999px;
  background: #fff;
  font-size: 12px;
  font-weight: 850;
}

.v4-gap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 20px;
}

.v4-gap-card {
  padding: 13px;
  border: 2px solid var(--ink, #213547);
  border-radius: 17px;
  background: #fff;
}
.v4-gap-card:nth-child(4n + 1) { background: #e9fbf7; }
.v4-gap-card:nth-child(4n + 2) { background: #fff7ca; }
.v4-gap-card:nth-child(4n + 3) { background: #e9e5ff; }
.v4-gap-card:nth-child(4n) { background: #e5f5ff; }
.v4-gap-card header { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.v4-gap-card h4 { margin: 0; font-size: 16px; }
.v4-gap-card header span { padding: 3px 7px; border-radius: 999px; background: var(--ink, #213547); color: #fff; font-size: 10px; font-weight: 900; }
.v4-gap-card dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin: 10px 0 0; }
.v4-gap-card dl div { min-width: 0; padding: 6px 3px; border-radius: 9px; background: rgba(255,255,255,.72); text-align: center; }
.v4-gap-card dt { font-size: 9px; color: #657381; }
.v4-gap-card dd { margin: 2px 0 0; font-size: 17px; font-weight: 950; }

.v4-urgent-list { display: grid; gap: 8px; }
.v4-urgent-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 10px 12px; border: 2px solid var(--ink, #213547); border-radius: 14px; background: #fff; }
.v4-urgent-item > b { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; background: #ff6c9f; color: #fff; }
.v4-urgent-item strong,
.v4-urgent-item small { display: block; }
.v4-urgent-item small { color: #64717d; line-height: 1.4; }
.v4-urgent-item button { white-space: nowrap; }

.v4-pilot-grid { display: grid; gap: 9px; margin: 16px 0; }
.v4-pilot-card { padding: 12px; border: 2px solid var(--ink, #213547); border-radius: 15px; background: #fff; }
.v4-pilot-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }
.v4-pilot-card h4 { margin: 0 0 4px; }
.v4-pilot-card p { margin: 5px 0; color: #596875; line-height: 1.45; }
.v4-pilot-card small { display: block; color: #687681; }
.v4-pilot-card button { margin-top: 9px; }
.v4-pilot-badge { padding: 4px 7px; border: 1.5px solid var(--ink, #213547); border-radius: 999px; background: #dcfbef; font-size: 10px; font-weight: 900; white-space: nowrap; }

.coordinate-matrix,
.coordinate-workbench { margin-top: 11px; padding: 11px 13px; border: 2px solid var(--ink, #213547); border-radius: 15px; background: rgba(255,255,255,.82); }
.coordinate-matrix summary,
.coordinate-workbench summary { cursor: pointer; font-weight: 900; }
.coordinate-route-list { display: grid; gap: 7px; margin-top: 12px; max-height: 370px; overflow: auto; }
.coordinate-route-item { padding: 9px; border-radius: 11px; background: #f7f5ef; }
.coordinate-route-item strong,
.coordinate-route-item small { display: block; }
.coordinate-route-item small { margin-top: 3px; color: #687681; line-height: 1.4; }
.coordinate-workbench label { display: grid; gap: 5px; margin: 12px 0; font-weight: 850; }
.coordinate-workbench select,
.coordinate-workbench input,
.coordinate-workbench textarea { width: 100%; min-width: 0; box-sizing: border-box; padding: 10px; border: 2px solid var(--ink, #213547); border-radius: 11px; background: #fff; }
.coordinate-workbench textarea { min-height: 76px; resize: vertical; }

.field-entrance-panel { margin-top: 16px; padding: 13px; border: 2px dashed var(--ink, #213547); border-radius: 15px; background: #e9fbf7; }
.field-entrance-panel h4 { margin: 0 0 7px; }
.field-entrance-panel p { color: #516471; line-height: 1.55; }
.field-entrance-panel output { display: block; margin-top: 10px; padding: 9px 10px; border-radius: 10px; background: #fff; color: #3e5665; font-weight: 750; }
.field-entrance-panel .field-check { display: flex; grid-template-columns: none; flex-direction: row; align-items: flex-start; gap: 8px; font-weight: 700; }
.field-entrance-panel input[type="checkbox"] { width: auto; margin-top: 3px; flex: 0 0 auto; }
.entrance-review-facts { border: 2px dashed var(--ink, #213547); border-radius: 13px; padding: 10px; background: #e7fbff; }
.entrance-review-facts small { display: block; margin-top: 5px; color: #526775; }
.identity-warning { margin: 7px 0 0; color: #8a2500; font-weight: 850; }

.coordinate-candidate { margin-top: 10px; padding: 11px; border: 2px solid var(--ink, #213547); border-radius: 13px; background: #eefbf8; }
.coordinate-candidate-group { display: grid; gap: 10px; margin-top: 12px; padding: 12px; border: 2px dashed var(--ink, #213547); border-radius: 15px; background: #fffdf2; }
.coordinate-candidate-group > h5 { margin: 0; font-size: 1rem; }
.coordinate-candidate.is-name-different { background: #fff1d9; }
.coordinate-candidate.is-lifecycle-blocked { border-color: #e63b52; background: #ffe4e8; box-shadow: 4px 4px 0 #e63b52; }
.coordinate-lifecycle-barrier { padding: 8px 9px; border-radius: 9px; background: #e63b52; color: #fff; font-weight: 950; }
.coordinate-candidate p { margin: 5px 0; }
.coordinate-candidate .coordinate-warning { padding: 7px 9px; border-radius: 9px; background: #ffd76a; color: #3b3020; font-weight: 850; }
.coordinate-candidate label { display: flex; grid-template-columns: none; flex-direction: row; align-items: flex-start; gap: 8px; font-weight: 700; }
.coordinate-candidate input[type="checkbox"] { width: auto; margin-top: 3px; }
.coordinate-candidate textarea { width: 100%; min-height: 62px; padding: 9px; border: 2px solid var(--ink, #213547); border-radius: 10px; resize: vertical; }
.coordinate-decision-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; }
.coordinate-decision-tools label { display: grid; gap: 5px; }
.coordinate-decision-tools select { width: 100%; min-width: 0; padding: 9px; border: 2px solid #203548; border-radius: 10px; background: #fff; }
.coordinate-decision-tools button { background: #fff; color: #a52034; }
.coordinate-ledger-list { display: grid; gap: 8px; margin: 10px 0; }
.coordinate-ledger-list article { padding: 9px; border: 2px solid #203548; border-radius: 11px; background: #fff; }
.coordinate-ledger-list strong,
.coordinate-ledger-list small { display: block; }
.coordinate-ledger-list small { margin-top: 3px; color: #5e6f7c; }

.ocr-panel label { display: grid; gap: 6px; }
.ocr-panel select,
.ocr-panel input { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }

@media (max-width: 1050px) {
  .v4-live-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v4-command-grid { grid-template-columns: 1fr; }
  .cockpit-grid { grid-template-columns: 1fr; }
  .cockpit-blockers { grid-row: auto; }
  .cockpit-preflight-ticket { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cockpit-preflight-ticket > span:first-child { grid-column: 1 / -1; }
}

@media (max-width: 650px) {
  .v4-command-center { border-radius: 24px; box-shadow: 6px 7px 0 var(--ink, #213547); }
  .v4-live-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v4-gap-grid { grid-template-columns: 1fr; }
  .v4-urgent-item { grid-template-columns: auto minmax(0, 1fr); }
  .v4-urgent-item button { grid-column: 1 / -1; width: 100%; }
  .cockpit-quota { grid-template-columns: 1fr; }
  .cockpit-quota time { grid-row: auto; grid-column: auto; }
  .cockpit-panel > header { display: block; }
  .cockpit-panel header small { display: block; max-width: none; margin-top: 4px; text-align: left; }
  .cockpit-preflight > header { align-items: stretch; flex-direction: column; }
  .cockpit-preflight > header label { justify-content: space-between; }
  .cockpit-preflight-ticket,
  .cockpit-preflight-endpoints { grid-template-columns: 1fr; }
  .cockpit-preflight-ticket > span:first-child { grid-column: auto; }
  .cockpit-handoff-tools { grid-template-columns: 1fr; }
  .cockpit-handoff-tools button,
  .cockpit-handoff-actions button { width: 100%; }
  .coordinate-decision-tools { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
  .v4-live-strip { grid-template-columns: 1fr; }
}
