:root {
  --bg: #f3f5f7;
  --surface: #ffffff;
  --surface-2: #f8fafb;
  --ink: #171a1f;
  --muted: #68717d;
  --line: #dfe4e8;
  --blue: #1769e0;
  --green: #16825d;
  --amber: #a96900;
  --red: #c63838;
  --dark: #171b21;
  --radius: 6px;
  font-family: Inter, "Microsoft YaHei", "PingFang SC", sans-serif;
  color: var(--ink);
  background: var(--bg);
  letter-spacing: 0;
}

/* V1.7 release, handoff, project-line and E/T/Q acceptance surfaces */
.release-status-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0 max(20px, calc((100% - 1440px) / 2)); background: #cfd8de; border-bottom: 1px solid #cfd8de; }
.release-status-strip article { min-width: 0; min-height: 76px; padding: 12px 14px; background: #fff; border-top: 4px solid #7a8791; }
.release-status-strip article.online, .release-status-strip article.verified, .release-status-strip article.fresh, .release-status-strip article.ready { border-top-color: var(--green); background: #f2faf6; }
.release-status-strip article.candidate { border-top-color: var(--blue); background: #f3f7fd; }
.release-status-strip article.stale { border-top-color: var(--amber); background: #fff9ed; }
.release-status-strip article.blocked { border-top-color: var(--red); background: #fff4f2; }
.release-status-strip article.partial { border-top-color: var(--amber); background: #fff9ed; }
.release-status-strip span, .release-status-strip strong, .release-status-strip small { display: block; overflow-wrap: anywhere; }
.release-status-strip span { color: #687680; font-size: 11px; font-weight: 800; }
.release-status-strip strong { margin-top: 4px; color: #173a52; font-size: 15px; line-height: 1.35; }
.release-status-strip small { margin-top: 4px; color: #65717b; font-size: 10px; line-height: 1.45; }
.release-status-strip.business-ready { box-shadow: inset 0 -3px 0 var(--green); }

.handoff-section, .assistant-cell-section, .data-gate-section { margin-bottom: 14px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-top: 4px solid #1769e0; border-radius: var(--radius); }
.assistant-cell-section { border-top-color: #0c7c86; }
.data-gate-section { border-top-color: #c63838; }
.data-gate-section.partial { border-top-color: var(--amber); }
.handoff-heading, .assistant-cell-heading, .data-gate-heading { align-items: flex-start; }
.handoff-heading h2, .assistant-cell-heading h2, .data-gate-heading h2 { margin: 4px 0 0; font-size: 20px; }
.handoff-heading p, .assistant-cell-heading p, .data-gate-heading p { max-width: 900px; margin: 7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.handoff-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.source-chip.blocked, .quality-gate-status.blocked { color: #9e302c; background: #fff0ee; border-color: #e7b8b3; }
.source-chip.partial, .quality-gate-status.partial { color: #8a5a14; background: #fff8e8; border-color: #e3c37c; }
.source-chip.pass, .quality-gate-status.pass { color: #116743; background: #edf8f2; border-color: #b9ddca; }
.quality-gate-status { display: inline-flex; align-items: center; min-height: 32px; padding: 6px 9px; border: 1px solid #c9d4da; border-radius: 4px; font-size: 11px; font-weight: 800; }
.handoff-section .table-wrap { margin-top: 15px; border: 1px solid var(--line); }
.handoff-table { min-width: 1120px; border-collapse: collapse; }
.handoff-table th { padding: 10px; color: #51616c; background: #f1f4f6; border-bottom: 1px solid var(--line); font-size: 11px; text-align: left; }
.handoff-table td { min-width: 160px; padding: 11px 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); vertical-align: top; }
.handoff-table td:nth-child(3), .handoff-table td:nth-child(4) { min-width: 260px; }
.handoff-table td:last-child { border-right: 0; }
.handoff-table tr:last-child td { border-bottom: 0; }
.handoff-table strong, .handoff-table b, .handoff-table span, .handoff-table small { display: block; overflow-wrap: anywhere; }
.handoff-table strong { color: #173a52; font-size: 12px; line-height: 1.45; }
.handoff-table b { margin-top: 5px; font-size: 11px; }
.handoff-table p { margin: 0 0 5px; color: #44535d; font-size: 11px; line-height: 1.55; }
.handoff-table small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.handoff-table details { margin-top: 7px; }
.handoff-table summary { color: #1769e0; cursor: pointer; font-size: 10px; font-weight: 800; }
.matrix-status { width: fit-content; padding: 4px 6px; border: 1px solid #c8d2d8; color: #52616c; background: #f5f7f8; font-size: 9px; font-weight: 800; }
.matrix-status.blocked, .matrix-status.pending_verification { color: #9e302c; background: #fff0ee; border-color: #e7b8b3; }
.matrix-status.verified { color: #116743; background: #edf8f2; border-color: #b9ddca; }
.handoff-domain-coverage { display: grid; gap: 8px; margin-top: 12px; padding: 12px; background: #f5f8fa; border: 1px solid var(--line); }
.handoff-domain-coverage > strong { font-size: 12px; }
.handoff-domain-coverage > div { display: flex; flex-wrap: wrap; gap: 6px; }
.handoff-domain-coverage > small { color: var(--muted); font-size: 10px; }
.domain-chip { padding: 5px 7px; border: 1px solid #d3dce1; color: #52616c; background: #fff; font-size: 10px; font-weight: 800; }
.domain-chip.mapped { color: #145d63; background: #eef8f8; border-color: #b7d8d9; }
.domain-chip.missing { color: #9e302c; background: #fff0ee; border-color: #e7b8b3; }
.project-line-registry { margin-top: 12px; }
.project-line-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.project-line-title strong { font-size: 14px; }
.project-line-title span { color: #9e302c; font-size: 11px; font-weight: 800; }
.project-line-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.project-line-card { min-width: 0; padding: 12px; background: #fbfcfd; border: 1px solid var(--line); border-left: 4px solid #7a8791; border-radius: 5px; }
.project-line-card.accepted { border-left-color: var(--green); background: #f2faf6; }
.project-line-card.active_turn { border-left-color: var(--blue); background: #f3f7fd; }
.project-line-card.blocked, .project-line-card.failed { border-left-color: var(--red); background: #fff4f2; }
.project-line-card.delivered_unverified, .project-line-card.idle_pending { border-left-color: var(--amber); background: #fff9ed; }
.project-line-card.executing, .project-line-card.ready_to_execute { border-left-color: var(--blue); background: #f3f7fd; }
.project-line-card.tech_review, .project-line-card.tech_recheck, .project-line-card.qa_review, .project-line-card.idle_pending { border-left-color: var(--amber); background: #fff9ed; }
.project-line-card.rework, .project-line-card.blocked { border-left-color: var(--red); background: #fff4f2; }
.project-line-card > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.project-line-card > div b { color: #173a52; font-size: 12px; }
.project-line-card > div span { color: #5f6e78; font-size: 10px; font-weight: 800; }
.project-line-card > strong { display: block; margin-top: 7px; font-size: 13px; }
.project-line-card p { margin: 6px 0; color: #44535d; font-size: 11px; line-height: 1.5; }
.project-line-card small { display: block; color: var(--muted); font-size: 9px; line-height: 1.45; overflow-wrap: anywhere; }

.assistant-cell-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 15px; }
.assistant-cell-card { min-width: 0; padding: 13px; background: #fbfcfd; border: 1px solid var(--line); border-top: 4px solid var(--red); border-radius: 5px; }
.assistant-cell-card.pass { border-top-color: var(--green); background: #f2faf6; }
.assistant-cell-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.assistant-cell-title span, .assistant-cell-title strong { display: block; }
.assistant-cell-title span { color: #1769e0; font-size: 10px; font-weight: 800; }
.assistant-cell-title strong { margin-top: 3px; font-size: 13px; line-height: 1.4; }
.assistant-cell-title > b { flex: 0 0 auto; padding: 4px 6px; color: #9e302c; background: #fff0ee; border: 1px solid #e7b8b3; font-size: 9px; }
.assistant-cell-card.pass .assistant-cell-title > b { color: #116743; background: #edf8f2; border-color: #b9ddca; }
.etq-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin-top: 11px; }
.etq-grid span { min-width: 0; padding: 7px; background: #fff; border: 1px solid var(--line); color: #44535d; font-size: 10px; overflow-wrap: anywhere; }
.etq-grid b { display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: 5px; color: #fff; background: #1769e0; font-size: 10px; }
.etq-grid span:nth-child(2) b { background: #0c7c86; }
.etq-grid span:nth-child(3) b { background: #a35c14; }
.etq-grid span:nth-child(4) b { width: 25px; background: #6b3fa0; }
.etq-grid strong, .etq-grid small { display: block; margin-top: 5px; }
.etq-grid strong { color: #26343d; font-size: 10px; }
.etq-grid small { color: #687680; font-size: 8px; line-height: 1.4; }
.artifact-status-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 8px; background: #dce3e7; }
.artifact-status-grid span { min-width: 0; padding: 7px; background: #fff; color: #687680; font-size: 8px; overflow-wrap: anywhere; }
.artifact-status-grid b { display: block; margin-top: 3px; color: #26343d; font-size: 9px; }
.assistant-cell-card dl { margin: 8px 0 0; padding: 8px; background: #f2f5f6; }
.assistant-cell-card dl > div { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 6px; margin-top: 4px; }
.assistant-cell-card dl > div:first-child { margin-top: 0; }
.assistant-cell-card dt { color: #687680; font-size: 9px; }
.assistant-cell-card dd { margin: 0; font-family: ui-monospace, Consolas, monospace; font-size: 9px; overflow-wrap: anywhere; }
.assistant-cell-card p { margin: 9px 0 5px; color: #44535d; font-size: 11px; line-height: 1.5; }
.assistant-cell-card > small { display: block; color: #9e302c; font-size: 9px; line-height: 1.45; }

.data-gate-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 15px; }
.data-gate-grid > article { min-width: 0; padding: 14px; background: #fbfcfd; border: 1px solid var(--line); border-left: 4px solid var(--red); border-radius: 5px; }
.data-gate-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.data-gate-card-head span { color: #687680; font-size: 11px; font-weight: 800; }
.data-gate-card-head strong { color: #9e302c; font-size: 13px; }
.data-gate-grid article > p { margin: 8px 0; color: #44535d; font-size: 12px; line-height: 1.55; }
.data-gate-grid ul { display: grid; gap: 5px; margin: 9px 0; padding: 0; list-style: none; }
.data-gate-grid li { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; gap: 6px; align-items: start; padding: 7px; background: #fff; border: 1px solid var(--line); }
.data-gate-grid li svg { width: 14px; height: 14px; color: var(--red); }
.data-gate-grid li.pass svg, .data-gate-grid li.ready svg { color: var(--green); }
.data-gate-grid li b { display: block; color: #173a52; font-size: 10px; }
.data-gate-grid li span { color: #53616b; font-size: 10px; line-height: 1.45; }
.data-gate-grid li strong { color: #9e302c; font-size: 9px; }
.data-gate-grid li.pass strong, .data-gate-grid li.ready strong { color: var(--green); }
.data-gate-grid article > small { display: block; color: var(--muted); font-size: 10px; line-height: 1.5; }
.content-workbench-section { margin-bottom: 14px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-top: 4px solid #a35c14; border-radius: var(--radius); scroll-margin-top: 100px; }
.content-workbench-heading { align-items: flex-start; }
.content-workbench-heading h2 { margin: 4px 0 0; font-size: 20px; }
.content-workbench-heading p { max-width: 900px; margin: 7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.content-workbench-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.content-layer-summary { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; margin-top: 15px; }
.content-layer-card { min-width: 0; padding: 11px; background: #fbfcfd; border: 1px solid var(--line); border-left: 3px solid #a35c14; }
.content-layer-card.ready { border-left-color: var(--green); background: #f2faf6; }
.content-layer-card.blocked { border-left-color: var(--red); background: #fff4f2; }
.content-layer-card > svg { width: 15px; height: 15px; color: #a35c14; }
.content-layer-card.ready > svg { color: var(--green); }
.content-layer-card > span, .content-layer-card > strong, .content-layer-card > small { display: block; overflow-wrap: anywhere; }
.content-layer-card > span { margin-top: 6px; color: #687680; font-size: 10px; font-weight: 800; }
.content-layer-card > strong { margin-top: 3px; color: #26343d; font-size: 15px; }
.content-layer-card > small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.content-queue-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 15px; }
.content-queue-tabs { display: flex; flex-wrap: wrap; gap: 5px; }
.content-queue-tab { min-height: 30px; padding: 5px 9px; color: #53616b; background: #f3f6f8; border: 1px solid var(--line); border-radius: 3px; font-size: 10px; font-weight: 800; cursor: pointer; }
.content-queue-tab.active { color: #fff; background: #a35c14; border-color: #a35c14; }
.content-queue-table-wrap { margin-top: 10px; overflow-x: auto; border: 1px solid var(--line); }
.content-queue-table { width: 100%; min-width: 1120px; border-collapse: collapse; }
.content-queue-table th { padding: 9px 8px; color: #51616c; background: #f1f4f6; border-bottom: 1px solid var(--line); font-size: 10px; text-align: left; white-space: nowrap; }
.content-queue-table td { min-width: 82px; padding: 9px 8px; vertical-align: top; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.content-queue-table tr:last-child td { border-bottom: 0; }
.content-queue-table td:last-child { border-right: 0; min-width: 180px; }
.content-queue-table td > small, .content-queue-table td > button + small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.4; overflow-wrap: anywhere; }
.content-task-link { padding: 0; color: #1769e0; background: transparent; border: 0; font-size: 11px; font-weight: 800; line-height: 1.45; text-align: left; cursor: pointer; }
.content-task-link:hover { text-decoration: underline; }
.content-priority { display: inline-block; min-width: 32px; padding: 4px 5px; color: #fff; background: #7a8791; font-size: 9px; font-weight: 800; text-align: center; }
.content-priority.priority-a { background: #c63838; }
.content-priority.priority-b { background: #a35c14; }
.content-priority.priority-c { background: #1769e0; }
.content-priority.priority-tail { background: #687680; }
.content-status-badge { display: inline-flex; max-width: 74px; padding: 4px 5px; color: #9e302c; background: #fff0ee; border: 1px solid #e7b8b3; font-size: 9px; line-height: 1.25; overflow-wrap: anywhere; }
.content-status-badge.ready { color: #116743; background: #edf8f2; border-color: #b9ddca; }
.content-status-badge.pending { color: #8d6100; background: #fff9ed; border-color: #e3cf9d; }
.content-next-action { display: block; color: #26343d; font-size: 10px; font-weight: 800; line-height: 1.4; }
.content-empty { padding: 28px !important; color: var(--muted); text-align: center; }
.content-workbench-foot { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 10px; color: var(--muted); font-size: 10px; }
.paid-deep-table { max-width: 100%; overflow-x: auto; scrollbar-gutter: stable; }
.paid-deep-table table { min-width: 860px; }
.handoff-dialog-shell { max-width: 980px; }
.handoff-form-grid { grid-template-columns: 1fr 1fr; }
.handoff-form-grid .form-banner, .handoff-form-grid button { grid-column: 1 / -1; }
.handoff-form-grid .form-banner { display: flex; align-items: flex-start; gap: 8px; padding: 10px; color: #40535f; background: #eef6fb; border: 1px solid #c5dbea; font-size: 11px; line-height: 1.5; }
.handoff-form-grid .form-banner svg { flex: 0 0 auto; width: 16px; height: 16px; color: #1769e0; }

@media (max-width: 1000px) {
  .release-status-strip { grid-template-columns: 1fr 1fr; padding: 0 12px; }
  .project-line-grid, .assistant-cell-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .release-status-strip { grid-template-columns: 1fr 1fr; padding: 0; }
  .release-status-strip article { min-height: 92px; padding: 10px; }
  .release-status-strip strong { font-size: 13px; }
  .release-status-strip small { font-size: 9px; }
  .handoff-section, .assistant-cell-section, .data-gate-section { padding: 14px; }
  .content-workbench-section { padding: 14px; }
  .content-workbench-section { scroll-margin-top: 300px; }
  .content-workbench-heading { flex-direction: column; }
  .content-workbench-actions { width: 100%; justify-content: flex-start; }
  .content-layer-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-queue-toolbar { align-items: stretch; flex-direction: column; }
  .content-queue-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .content-queue-tab { flex: 0 0 auto; }
  .handoff-heading, .assistant-cell-heading, .data-gate-heading { flex-direction: column; }
  .handoff-actions { width: 100%; justify-content: flex-start; }
  .handoff-actions .source-chip { display: inline-flex; }
  .handoff-actions .action-btn { width: 100%; }
  .project-line-title { align-items: flex-start; flex-direction: column; }
  .project-line-grid, .assistant-cell-grid, .data-gate-grid { grid-template-columns: 1fr; }
  .etq-grid { grid-template-columns: 1fr 1fr; }
  .artifact-status-grid { grid-template-columns: 1fr 1fr 1fr; }
  .handoff-form-grid { grid-template-columns: 1fr; }
  .handoff-form-grid .form-banner, .handoff-form-grid button { grid-column: 1; }
  #handoffDialog { width: calc(100% - 8px); max-height: calc(100dvh - 8px); }
}

/* v1.3 readability and navigation acceptance layer */
body { font-size: 14px; }
.brand strong { font-size: 17px; }
.brand span { font-size: 12px; }
.team-navigation { margin-bottom: 14px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-top: 4px solid #1769e0; border-radius: var(--radius); }
.team-navigation-heading { align-items: flex-start; }
.team-navigation-heading h2 { margin: 4px 0 0; font-size: 20px; }
.team-navigation-heading p { margin: 7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.team-navigation-updated { display: inline-flex; align-items: center; gap: 5px; padding: 6px 8px; color: #37536c; background: #f1f7ff; border: 1px solid #c9dcf3; border-radius: 4px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.team-navigation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 15px; }
.team-navigation-card { min-width: 0; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 14px; text-align: left; color: #26343d; background: #fbfcfd; border: 1px solid var(--line); border-left: 4px solid #1769e0; border-radius: 6px; }
.team-navigation-card:hover, .team-navigation-card:focus-visible { background: #f1f7ff; border-color: #8fb8e8; outline: 2px solid #8fb8e8; outline-offset: 1px; }
.team-navigation-card:nth-child(2) { border-left-color: #a96900; }
.team-navigation-card:nth-child(3) { border-left-color: #0c7c86; }
.team-navigation-card:nth-child(4) { border-left-color: #16825d; }
.team-navigation-card:nth-child(5) { border-left-color: #d55a2b; }
.team-navigation-card:nth-child(6) { border-left-color: #b42318; }
.team-card-icon { width: 38px; height: 38px; display: grid; place-items: center; color: #fff; background: #1769e0; border-radius: 5px; }
.team-navigation-card:nth-child(2) .team-card-icon { background: #a96900; }
.team-navigation-card:nth-child(3) .team-card-icon { background: #0c7c86; }
.team-navigation-card:nth-child(4) .team-card-icon { background: #16825d; }
.team-navigation-card:nth-child(5) .team-card-icon { background: #d55a2b; }
.team-navigation-card:nth-child(6) .team-card-icon { background: #b42318; }
.team-card-icon svg { width: 20px; height: 20px; }
.team-card-copy { min-width: 0; }
.team-card-copy small, .team-card-copy strong, .team-card-copy b, .team-card-copy em, .team-card-copy span { display: block; overflow-wrap: anywhere; }
.team-card-copy small { color: var(--muted); font-size: 11px; }
.team-card-copy strong { margin-top: 3px; font-size: 16px; line-height: 1.35; }
.team-card-copy b { margin-top: 8px; color: #243f5f; font-size: 13px; }
.team-card-copy em { margin-top: 3px; color: #6b7883; font-size: 12px; font-style: normal; }
.team-card-copy span { margin-top: 7px; color: #4b5662; font-size: 12px; line-height: 1.45; }
.team-card-count { min-width: 52px; display: grid; justify-items: end; gap: 4px; color: #1769e0; }
.team-card-count b { font-size: 22px; line-height: 1; }
.team-card-count small { color: #6b7883; font-size: 11px; text-align: right; white-space: normal; }
.team-card-count svg { width: 18px; height: 18px; margin-top: 4px; }
.team-card-counts { min-width: 166px; grid-template-columns: repeat(2, minmax(50px, 1fr)); gap: 7px 10px; align-items: start; }
.team-card-stat { display: grid; justify-items: end; gap: 2px; min-width: 0; }
.team-card-stat b { font-size: 19px; }
.team-card-stat small { color: #6b7883; font-size: 10px; white-space: nowrap; }
.team-card-counts > svg { grid-column: 1 / -1; justify-self: end; margin-top: 0; }
.manager-board-section { margin-bottom: 14px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-top: 4px solid #173e58; border-radius: var(--radius); }
.manager-board-heading { align-items: flex-start; }
.manager-board-heading h2 { margin: 4px 0 0; font-size: 20px; }
.manager-board-heading p { margin: 7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.manager-board-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 15px; }
.manager-board-summary article { padding: 12px 14px; background: #f6f9fb; border: 1px solid var(--line); border-radius: 5px; }
.manager-board-summary span { display: block; color: var(--muted); font-size: 11px; font-weight: 800; }
.manager-board-summary strong { display: block; margin-top: 5px; color: #173e58; font-size: 24px; line-height: 1; }
.manager-board-summary small { margin-left: 3px; color: var(--muted); font-size: 11px; font-weight: 600; }
.manager-board-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.manager-board-card { min-width: 0; padding: 13px; background: #fff; border: 1px solid var(--line); border-left: 4px solid #1769e0; border-radius: 5px; }
.manager-board-card.priority-p0 { border-left-color: #b42318; }
.manager-board-card.priority-p1 { border-left-color: #a96900; }
.manager-board-card-head, .manager-board-owner, .manager-board-metrics { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.manager-board-card-head { color: var(--muted); font-size: 11px; }
.manager-priority { color: #8e2f2b; font-weight: 900; }
.manager-board-id { overflow-wrap: anywhere; text-align: right; }
.manager-board-card h3 { margin: 9px 0 8px; color: #173e58; font-size: 15px; line-height: 1.35; }
.manager-board-owner { align-items: flex-start; flex-direction: column; }
.manager-board-owner strong { color: #243f5f; font-size: 14px; }
.manager-board-owner span { color: var(--muted); font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.manager-board-metrics { justify-content: flex-start; margin-top: 11px; padding-top: 9px; border-top: 1px solid #e2e8ed; }
.manager-board-metrics span { color: var(--muted); font-size: 11px; }
.manager-board-metrics b { margin-right: 3px; color: #173e58; font-size: 18px; }
.manager-board-metrics .is-overdue b { color: #b42318; }
.manager-board-statuses { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; min-height: 27px; }
.manager-status-chip { display: inline-flex; align-items: center; gap: 3px; padding: 4px 6px; color: #4b5662; background: #f2f5f7; border: 1px solid #d9e1e6; border-radius: 3px; font-size: 10px; }
.manager-status-chip b { color: #173e58; font-size: 12px; }
.manager-status-chip.status-blocked, .manager-status-chip.status-correction, .manager-status-chip.status-expired { color: #8e2f2b; background: #fff3f1; border-color: #efc2bc; }
.manager-status-chip.status-blocked b, .manager-status-chip.status-correction b, .manager-status-chip.status-expired b { color: #b42318; }
.manager-status-chip.status-verified, .manager-status-chip.status-accepted { color: #176044; background: #f0faf4; border-color: #b9ddc8; }
.manager-board-card details { margin-top: 10px; padding-top: 9px; border-top: 1px solid #e2e8ed; }
.manager-board-card summary { color: #37536c; cursor: pointer; font-size: 11px; font-weight: 800; }
.manager-board-card details p, .manager-board-card details small { display: block; margin: 7px 0 0; color: #4b5662; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.manager-board-blockers { margin-top: 12px; padding: 12px 14px; color: #6c302d; background: #fff7f5; border: 1px solid #efc2bc; border-radius: 5px; font-size: 12px; line-height: 1.55; }
.manager-board-blockers strong { display: flex; align-items: center; gap: 6px; color: #8e2f2b; }
.manager-board-blockers svg { width: 16px; height: 16px; }
.manager-board-blockers ul { margin: 7px 0 0; padding-left: 18px; }
.manager-board-blockers li + li { margin-top: 4px; }
.gmv-dimensions-section { margin-bottom: 14px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-top: 4px solid #0c7c86; border-radius: var(--radius); }
.gmv-dimensions-heading { align-items: flex-start; }
.gmv-dimensions-heading h2 { margin: 4px 0 0; font-size: 20px; }
.gmv-dimensions-heading p { max-width: 900px; margin: 7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.gmv-tree-strip { display: grid; gap: 10px; margin-top: 15px; }
.gmv-tree-formula { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px 14px; color: #174b54; background: #eefafa; border: 1px solid #b8dfe0; font-size: 14px; font-weight: 800; }
.gmv-tree-formula b { color: #0c7c86; font-size: 16px; }
.gmv-tree-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) 1.8fr; gap: 1px; background: #d7e4e5; }
.gmv-tree-metrics article { min-width: 0; padding: 12px; background: #fff; }
.gmv-tree-metrics article > span, .gmv-tree-metrics article > strong, .gmv-tree-metrics article > small { display: block; }
.gmv-tree-metrics article > span { color: #5d7175; font-size: 11px; font-weight: 700; }
.gmv-tree-metrics article > strong { margin-top: 5px; color: #173a52; font-size: 19px; line-height: 1.35; overflow-wrap: anywhere; }
.gmv-tree-metrics article > small { margin-top: 4px; color: #6d7d83; font-size: 10px; line-height: 1.45; }
.gmv-tree-metrics .gmv-tree-constraint { background: #fff8ec; }
.gmv-tree-constraint > strong { color: #8a5d08 !important; font-size: 13px !important; }
.gmv-dimensions-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.gmv-dimension-card { min-width: 0; display: grid; align-content: start; gap: 10px; padding: 14px; background: #fbfcfd; border: 1px solid #d7e0e4; border-top: 3px solid #0c7c86; }
.gmv-dimension-card:nth-child(3n + 2) { border-top-color: #1769e0; }
.gmv-dimension-card:nth-child(3n + 3) { border-top-color: #a96900; }
.gmv-dimension-head { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 8px; align-items: start; }
.gmv-dimension-index { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; color: #fff; background: #0c7c86; font-size: 11px; font-weight: 800; }
.gmv-dimension-card:nth-child(3n + 2) .gmv-dimension-index { background: #1769e0; }
.gmv-dimension-card:nth-child(3n + 3) .gmv-dimension-index { background: #a96900; }
.gmv-dimension-head h3 { margin: 0; color: #173a52; font-size: 15px; line-height: 1.35; }
.gmv-dimension-head span { display: block; margin-top: 3px; color: #687982; font-size: 11px; line-height: 1.35; }
.gmv-dimension-head > svg { width: 16px; height: 16px; color: #78919a; }
.gmv-dimension-formula { padding: 8px 9px; background: #eef7f8; border-left: 3px solid #0c7c86; }
.gmv-dimension-formula span, .gmv-dimension-formula strong { display: block; }
.gmv-dimension-formula span, .gmv-dimension-evidence span, .gmv-dimension-projects > span, .gmv-dimension-gates span { color: #5d7175; font-size: 10px; font-weight: 800; }
.gmv-dimension-formula strong { margin-top: 4px; color: #174b54; font-size: 12px; line-height: 1.5; }
.gmv-dimension-evidence { min-width: 0; }
.gmv-dimension-evidence > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.gmv-dimension-evidence p, .gmv-dimension-gates p { margin: 5px 0 0; color: #4f626b; font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.gmv-data-tag { flex: 0 0 auto; padding: 3px 5px; border: 1px solid #b9d5d7; color: #17636b; background: #eefafa; font-size: 9px; font-weight: 800; }
.gmv-data-tag.inference { border-color: #e4c789; color: #8a5d08; background: #fff8e9; }
.gmv-data-tag.blocked { border-color: #e1b6ac; color: #9f3d31; background: #fff3f1; }
.gmv-dimension-projects { padding-top: 9px; border-top: 1px solid #e2e9eb; }
.gmv-dimension-projects ul { display: grid; gap: 5px; margin: 6px 0 0; padding: 0; list-style: none; }
.gmv-dimension-projects li { display: flex; align-items: flex-start; gap: 6px; color: #36525c; font-size: 11px; line-height: 1.45; }
.gmv-dimension-projects li svg { flex: 0 0 auto; width: 14px; height: 14px; margin-top: 1px; color: #16825d; }
.gmv-dimension-gates { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.gmv-dimension-gates > div { min-width: 0; padding: 8px; background: #fff; border: 1px solid #e1e8eb; }
.gmv-dimension-gates > div:last-child { background: #fff8f4; border-color: #efd0c2; }
.gmv-dimension-gates > div:last-child span { color: #9f5132; }
.gmv-dimension-action { width: 100%; min-height: 36px; justify-content: center; font-size: 11px; }
.gmv-dimension-empty { grid-column: 1 / -1; display: grid; justify-items: center; gap: 7px; padding: 30px 15px; color: #68717d; background: #fbfcfd; border: 1px dashed #cbd6da; text-align: center; }
.gmv-dimension-empty svg { width: 24px; height: 24px; color: #78919a; }
.gmv-dimension-empty strong { color: #40545d; font-size: 13px; }
.gmv-dimension-empty p { margin: 0; font-size: 11px; }
.package-deliverable { display: block; font-size: 13px; line-height: 1.45; }
.package-task-links { display: grid; gap: 5px; margin-top: 8px; }
.package-task-link { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px; align-items: center; padding: 8px 9px; text-align: left; color: #234e78; background: #f1f7ff; border: 1px solid #c9dcf3; border-radius: 5px; }
.package-task-link:hover, .package-task-link:focus-visible { background: #e3f0ff; border-color: #8fb8e8; outline: 2px solid #8fb8e8; outline-offset: 1px; }
.package-task-link .priority { font-size: 10px; }
.package-task-link strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.package-task-link small { grid-column: 2; margin-top: -2px; color: #5c6d79; font-size: 11px; }
.package-task-link svg { grid-column: 3; grid-row: 1 / span 2; width: 16px; height: 16px; }
.package-task-links details { margin-top: 2px; }
.package-task-links summary { padding: 5px 2px; color: #1769e0; cursor: pointer; font-size: 12px; font-weight: 700; }
.package-task-extra { display: grid; gap: 5px; margin-top: 5px; }
.package-task-empty { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; }
.factory-order { border-radius: 6px; }
.factory-order h3 { font-size: 15px; }
.factory-product-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin: 11px 0; }
.factory-product-title h3 { max-width: 820px; margin: 0; font-size: 16px; line-height: 1.5; }
.factory-direct-links { flex: 0 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; }
.factory-direct-link { min-height: 38px; display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; color: #145aa8; background: #eef5ff; border: 1px solid #c9dcf3; border-radius: 5px; font-size: 13px; font-weight: 800; text-decoration: none; }
.factory-direct-link:hover, .factory-direct-link:focus-visible { background: #dfeeff; border-color: #8fb8e8; outline: 2px solid #8fb8e8; outline-offset: 1px; }
.factory-direct-link svg { width: 16px; height: 16px; }
.factory-direct-links > small { width: 100%; color: #6b7883; font-size: 11px; text-align: right; }
.factory-plain-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 0; }
.factory-plain-summary > div { padding: 11px 12px; background: #fff; border: 1px solid var(--line); border-left: 4px solid #1769e0; }
.factory-plain-summary > div:last-child { border-left-color: #16825d; }
.factory-plain-summary b { display: block; font-size: 13px; }
.factory-plain-summary p { margin: 5px 0 0; color: #3f4953; font-size: 13px; line-height: 1.6; }
.factory-more { margin-top: 8px; border-top: 1px solid var(--line); }
.factory-more summary { padding: 10px 2px 2px; color: #1769e0; cursor: pointer; font-size: 12px; font-weight: 800; }
.factory-order-meta span { font-size: 12px; }
.factory-order-meta b { font-size: 11px; }
.factory-order-main p { font-size: 12px; }
.factory-order-main span { font-size: 11px; }
.factory-order-foot strong { font-size: 12px; }
.factory-order-foot p { font-size: 12px; }
.factory-order-foot small { font-size: 11px; }
.data-stamp { font-size: 11px; }
.factory-queue-tab { font-size: 13px; }
.factory-queue-status strong { font-size: 14px; }
.factory-queue-status span, .factory-queue-status p { font-size: 12px; }
.task-target-context { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 12px; padding: 13px 14px; background: #f1f7ff; border: 1px solid #c9dcf3; border-left: 4px solid #1769e0; }
.task-target-context small, .task-target-context strong, .task-target-context span { display: block; }
.task-target-context small { color: #5c6d79; font-size: 12px; }
.task-target-context strong { margin-top: 4px; font-size: 15px; line-height: 1.45; }
.task-target-context span { margin-top: 4px; color: #6b7883; font-size: 11px; }
.task-target-context > div:last-child { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 6px; align-content: flex-start; }
.task-target-context a, .task-target-context button { min-height: 40px; display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; color: #145aa8; background: #fff; border: 1px solid #8fb8e8; border-radius: 5px; font-size: 13px; font-weight: 800; text-decoration: none; }
.task-target-context a:hover, .task-target-context a:focus-visible, .task-target-context button:hover, .task-target-context button:focus-visible { background: #e3f0ff; outline: 2px solid #8fb8e8; outline-offset: 1px; }
.task-target-context a svg, .task-target-context button svg { width: 16px; height: 16px; }
.content-execution-plan { margin: 14px 0; border: 1px solid #9dc4df; background: #f8fcff; }
.content-plan-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 15px 17px; color: #fff; background: #185d84; }
.content-plan-head .eyebrow { color: #d5efff; }
.content-plan-head h3 { margin: 4px 0 0; font-size: 20px; }
.content-plan-head > span { padding: 5px 8px; background: rgb(255 255 255 / 14%); border: 1px solid rgb(255 255 255 / 25%); border-radius: 4px; font-size: 12px; font-weight: 800; }
.content-plain-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.content-plain-grid article { padding: 13px 15px; border-right: 1px solid #c9dce9; border-bottom: 1px solid #c9dce9; background: #fff; }
.content-plain-grid article:nth-child(2n) { border-right: 0; }
.content-plain-grid span, .content-plain-grid strong { display: block; }
.content-plain-grid span { color: #60717f; font-size: 12px; }
.content-plain-grid strong { margin-top: 5px; font-size: 15px; line-height: 1.5; }
.content-ab-grid { display: grid; grid-template-columns: 1fr 1fr .75fr; gap: 8px; padding: 14px; }
.content-ab-grid article, .content-ab-grid aside { padding: 12px; background: #fff; border: 1px solid #c9dce9; }
.content-ab-grid article:first-child { border-top: 4px solid #1769e0; }
.content-ab-grid article:nth-child(2) { border-top: 4px solid #0c7c86; }
.content-ab-grid aside { border-top: 4px solid #a96900; background: #fffaf0; }
.content-ab-grid span, .content-ab-grid strong { display: block; }
.content-ab-grid span { color: #60717f; font-size: 12px; }
.content-ab-grid strong { margin-top: 5px; font-size: 14px; line-height: 1.5; }
.content-ab-grid p { margin: 7px 0 0; color: #4b5662; font-size: 13px; line-height: 1.55; }
.content-ab-grid aside svg { width: 20px; height: 20px; color: #a96900; }
.content-section-title { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; padding: 12px 15px; border-top: 1px solid #c9dce9; border-bottom: 1px solid #c9dce9; background: #eaf5fc; }
.content-section-title strong { font-size: 16px; }
.content-section-title span { color: #60717f; font-size: 12px; }
.content-shot-list { display: grid; gap: 7px; padding: 14px; }
.content-shot-card { display: grid; grid-template-columns: 90px 1fr; border: 1px solid #d4e2eb; background: #fff; }
.content-shot-time { display: grid; align-content: start; gap: 5px; padding: 13px; color: #fff; background: #253d4c; }
.content-shot-time b { font-size: 14px; }
.content-shot-time time { color: #d5efff; font-size: 12px; font-weight: 800; }
.content-shot-main { padding: 12px 14px; }
.content-shot-main > strong { font-size: 14px; line-height: 1.55; }
.content-shot-main p { margin: 6px 0 0; color: #46515d; font-size: 13px; line-height: 1.55; }
.content-shot-main small { display: block; margin-top: 8px; padding: 8px 9px; color: #84302a; background: #fff3f2; font-size: 12px; line-height: 1.55; }
.content-delivery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 14px; }
.content-delivery-grid section { padding: 13px 14px; background: #fff; border: 1px solid #c9dce9; }
.content-delivery-grid strong { font-size: 15px; }
.content-delivery-grid ul { margin: 9px 0 0; padding-left: 19px; color: #46515d; font-size: 13px; line-height: 1.7; }
.content-review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 14px; }
.content-review-grid article { padding: 12px; background: #fff; border: 1px solid #c9dce9; }
.content-review-grid b { color: #185d84; font-size: 14px; }
.content-review-grid p { margin: 7px 0 0; color: #46515d; font-size: 13px; line-height: 1.55; }
.content-decision-bar { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #c9dce9; }
.content-decision-bar > div { padding: 13px 14px; border-right: 1px solid #c9dce9; background: #fff; }
.content-decision-bar > div:last-child { border-right: 0; }
.content-decision-bar span, .content-decision-bar strong { display: block; }
.content-decision-bar span { color: #60717f; font-size: 12px; }
.content-decision-bar strong { margin-top: 5px; font-size: 13px; line-height: 1.55; }

@media (max-width: 1000px) {
  .team-navigation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manager-board-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manager-board-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gmv-dimensions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gmv-tree-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gmv-tree-constraint { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .task-closure-panel ol { grid-template-columns: 1fr 1fr; }
  .brand strong { font-size: 15px; }
  .brand span { font-size: 11px; }
  .team-navigation { padding: 15px; }
  .gmv-dimensions-section { padding: 15px; }
  .gmv-dimensions-heading { flex-direction: column; }
  .gmv-dimensions-heading h2 { font-size: 17px; }
  .gmv-dimensions-heading p { font-size: 12px; }
  .gmv-tree-formula { gap: 5px; padding: 10px; font-size: 12px; line-height: 1.6; }
  .gmv-tree-formula b { font-size: 14px; }
  .gmv-dimensions-grid, .gmv-tree-metrics { grid-template-columns: 1fr; }
  .gmv-tree-constraint { grid-column: auto; }
  .gmv-dimension-gates { grid-template-columns: 1fr; }
  .team-navigation-heading { flex-direction: column; }
  .team-navigation-heading h2 { font-size: 17px; }
  .team-navigation-heading p { font-size: 13px; }
  .team-navigation-updated { white-space: normal; }
  .team-navigation-grid { grid-template-columns: 1fr; }
  .manager-board-section { padding: 15px; }
  .manager-board-grid { grid-template-columns: 1fr; }
  .team-navigation-card { grid-template-columns: 36px minmax(0, 1fr) auto; padding: 12px; }
  .team-card-copy strong { font-size: 15px; }
  .team-card-copy b { font-size: 13px; }
  .team-card-copy em, .team-card-copy span { font-size: 12px; }
  .team-card-counts { min-width: 116px; gap: 6px 7px; }
  .team-card-stat b { font-size: 16px; }
  .team-card-stat small { font-size: 9px; }
  .package-task-link strong { white-space: normal; }
  .factory-product-title, .task-target-context { flex-direction: column; }
  .factory-direct-links, .task-target-context > div:last-child { width: 100%; justify-content: flex-start; }
  .factory-direct-links > small { text-align: left; }
  .factory-direct-link, .task-target-context a, .task-target-context button { flex: 1 1 130px; justify-content: center; }
  .factory-plain-summary { grid-template-columns: 1fr; }
  .content-plan-head, .content-section-title { align-items: flex-start; flex-direction: column; }
  .content-plain-grid, .content-ab-grid, .content-delivery-grid, .content-review-grid, .content-decision-bar { grid-template-columns: 1fr; }
  .content-plain-grid article, .content-decision-bar > div { border-right: 0; border-bottom: 1px solid #c9dce9; }
  .content-shot-card { grid-template-columns: 1fr; }
  .content-shot-time { grid-template-columns: auto auto; justify-content: space-between; }
}

/* v1.6 readability layer: keep dense workbench information legible at a glance. */
body.readable-ui {
  font-size: 16px;
  line-height: 1.55;
  overflow-x: hidden;
}

body.readable-ui :where(p, li, td, th, label, input, textarea, select, button, summary, small, [data-stamp], time) {
  line-height: 1.55;
}

body.readable-ui :where(small, [data-stamp], time, .data-stamp, .eyebrow, .label, .sub, .muted, .meta, .source-chip, .status, .package-task-link small, .factory-order-meta span, .factory-order-meta b, .factory-order-main span, .factory-order-foot small, .review-result small, .notes time, .project-record small, .milestone-main small, .empty-inline) {
  font-size: max(13px, 1em) !important;
}

body.readable-ui :where(.gmv-data-tag, .priority, .status-pill, .badge, .tag, .chip, .package-status, .comparison-status, .incident-status, .sla-pill) {
  font-size: max(12px, 1em) !important;
  line-height: 1.35;
}

body.readable-ui :where(.team-card-copy small, .team-card-copy em, .team-card-count small, .team-card-stat small, .gmv-tree-metrics article > span, .gmv-tree-metrics article > small, .gmv-dimension-head span, .gmv-dimension-formula span, .gmv-dimension-evidence span, .gmv-dimension-projects > span, .gmv-dimension-gates span, .gmv-dimension-evidence p, .gmv-dimension-projects li, .gmv-dimension-gates p, .task-value-reasoning b, .task-value-example b, .task-value-reasoning p, .task-value-example p, .task-value-flow-step > b, .task-value-flow-step > small, .submit-step-label small, .primary-upload small, .upload-status, .empty-evidence, .external-evidence-field, .product-period-table td small, .fee-method ul, .dialog-footnote, .notes-empty, .review-result p, .project-detail-goal span, .dialog-section-title > strong, .milestone-main p, .milestone-tasks button, .milestone-review input) {
  font-size: max(13px, 1em) !important;
}

body.readable-ui :where(button, input, textarea, select, .action-btn, .icon-button, .factory-direct-link, .task-header-action) {
  font-size: max(14px, 1em) !important;
}

body.readable-ui :where(.brand span, .freshness small, .safe-mode) {
  font-size: max(13px, 1em) !important;
}

body.readable-ui :where(.metric-card .label, .metric-card .sub, .factory-order-main p, .factory-order-foot p, .factory-order-foot strong, .task-target-context small, .task-target-context span, .task-target-context strong, .product-ai-foot, .notes p) {
  font-size: max(14px, 1em) !important;
}

body.readable-ui :where(table) {
  font-size: 14px;
}

body.readable-ui :where(th, td) {
  padding-top: 10px;
  padding-bottom: 10px;
}

body.readable-ui :where(input, textarea, select) {
  min-height: 42px;
}

body.readable-ui :where(textarea) {
  min-height: 110px;
}

@media (max-width: 640px) {
  body.readable-ui { font-size: 16px; }
  body.readable-ui :where(.brand strong) { font-size: 15px !important; }
  body.readable-ui :where(.section-heading h2, .panel-head h2) { font-size: 19px !important; }
  body.readable-ui :where(.dialog-title h2) { font-size: 20px !important; }
}

/* Raise every text-bearing control and metadata field to a readable floor. */
body.readable-ui :where(span, p, li, td, th, label, input, textarea, select, button, summary, small, a, time, dt, dd, strong, b, em, figcaption) {
  font-size: max(13px, 0.875rem) !important;
  line-height: 1.55;
}

body.readable-ui :where(div, section, article, header, footer, nav, main, aside) {
  font-size: max(13px, 0.875rem) !important;
}

body.readable-ui :where(.factory-order-main section, .factory-order-meta > span, .factory-order-foot > div, .workstream, .special-card, .audit-item, .metric-card, .gmv-dimension-card, .team-navigation-card) {
  min-width: 0;
}

body.readable-ui :where(.factory-order-main p, .factory-order-main span, .factory-order-meta span, .factory-order-foot p, .workstream p, .special-card p, .audit-item p) {
  overflow-wrap: anywhere;
  word-break: break-word;
}

body.readable-ui :where(.data-stamp, [data-stamp]) {
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Keep hierarchy for section titles and key numeric outcomes. */
body.readable-ui :where(h1) { font-size: clamp(24px, 2em, 34px) !important; line-height: 1.2; }
body.readable-ui :where(h2) { font-size: clamp(20px, 1.5em, 28px) !important; line-height: 1.3; }
body.readable-ui :where(h3) { font-size: clamp(17px, 1.25em, 22px) !important; line-height: 1.35; }
body.readable-ui :where(.goal-main strong, .metric-card strong) { font-size: 28px !important; line-height: 1.2; }
body.readable-ui :where(.team-card-count b) { font-size: 22px !important; line-height: 1.1; }
body.readable-ui :where(.team-card-stat b) { font-size: 19px !important; line-height: 1.1; }
body.readable-ui :where(.gmv-tree-metrics article > strong) { font-size: 19px !important; line-height: 1.3; }

@media (max-width: 640px) {
  body.readable-ui :where(h1) { font-size: 24px !important; }
  body.readable-ui :where(h2) { font-size: 20px !important; }
  body.readable-ui :where(h3) { font-size: 18px !important; }
  body.readable-ui :where(.goal-main strong, .metric-card strong) { font-size: 24px !important; }
}

.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #f4f7f8; }
.login-panel { width: min(420px, 100%); display: grid; gap: 14px; padding: 32px; background: #fff; border: 1px solid #dce5e7; border-radius: 8px; box-shadow: 0 18px 50px rgb(25 54 62 / 10%); }
.login-panel .brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 8px; background: #0c7c86; color: #fff; font-weight: 800; }
.login-panel h1 { margin: 0; font-size: 24px; }
.login-panel p { margin: 0 0 8px; color: #5f7075; line-height: 1.6; }
.login-panel label { display: grid; gap: 6px; color: #35474d; font-weight: 600; }
.login-panel input { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid #cbd9dc; border-radius: 6px; font: inherit; }
.login-panel .action-btn { min-height: 42px; }
.login-error { min-height: 20px; color: #bd3f35; font-size: 13px; }

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; min-width: 320px; background: var(--bg); }
button, input, select { font: inherit; letter-spacing: 0; }
button { cursor: pointer; }

.topbar {
  min-height: 72px;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--dark);
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid #2b3139;
}

.brand, .top-actions, .role-picker, .freshness, .safe-mode, .goal-delta, .section-heading, .panel-head, .table-tools, .search-box {
  display: flex;
  align-items: center;
}

.brand { gap: 11px; }
.brand-mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  background: #d83b32;
  color: #fff;
  font-weight: 800;
  border-radius: 5px;
}
.brand strong { display: block; font-size: 15px; }
.brand span { display: block; margin-top: 2px; color: #aeb7c2; font-size: 11px; }
.brand span b { color: #fff; }
.top-actions { justify-content: flex-end; gap: 10px; min-width: 0; }
.freshness { display: grid; grid-template-columns: 17px minmax(0, 1fr); gap: 8px; min-width: 460px; max-width: 760px; padding: 7px 10px; color: #d8dee5; border: 1px solid #3b434d; border-radius: 5px; font-size: 11px; }
.freshness > span { min-width: 0; }
.freshness strong, .freshness small { display: block; overflow-wrap: anywhere; letter-spacing: 0; }
.freshness strong { color: #fff; line-height: 1.4; }
.freshness small { margin-top: 2px; color: #aeb7c2; font-size: 9px; line-height: 1.45; }
.freshness-stale { color: #5bf08a; background: #090d0b; border-color: #42d879; box-shadow: inset 3px 0 0 #42d879; }
.freshness-stale strong, .freshness-stale small { color: #5bf08a; font-weight: 800; }
.freshness svg, .role-picker svg, .safe-mode svg, .goal-delta svg, .search-box svg { width: 15px; height: 15px; }
.role-picker { gap: 7px; padding: 6px 8px; border: 1px solid #3b434d; border-radius: 5px; }
.role-picker select { color: #fff; background: transparent; border: 0; outline: 0; max-width: 180px; }
.role-picker option { color: #111; }

.shell { width: min(1440px, calc(100% - 40px)); margin: 0 auto; padding: 22px 0 48px; }
.role-context { display: flex; justify-content: space-between; align-items: end; padding: 4px 0 18px; }
.role-context h1 { margin: 3px 0 4px; font-size: 22px; line-height: 1.3; }
.role-context p { margin: 0; color: var(--muted); font-size: 13px; }
.eyebrow { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.safe-mode { gap: 7px; color: var(--green); font-size: 12px; font-weight: 700; }

.goal-band {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(240px, 0.72fr);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.goal-copy { padding: 22px 24px; }
.section-heading { justify-content: space-between; gap: 16px; }
.section-heading h2, .panel-head h2 { margin: 4px 0 0; font-size: 18px; line-height: 1.45; }
.source-chip, .confidence { color: var(--muted); background: var(--surface-2); border: 1px solid var(--line); border-radius: 4px; padding: 4px 7px; font-size: 11px; }
.goal-main { display: flex; align-items: end; justify-content: space-between; margin-top: 14px; }
.goal-main span { display: block; color: var(--muted); font-size: 12px; }
.goal-main strong { display: block; margin-top: 3px; font-size: 32px; line-height: 1.2; }
.goal-delta { gap: 6px; color: var(--green); font-size: 13px; font-weight: 800; }
.progress-track { height: 9px; margin: 17px 0 8px; overflow: hidden; background: #e9edf0; border-radius: 4px; }
.progress-track span { display: block; width: 0; height: 100%; background: var(--blue); transition: width .3s ease; }
.goal-meta { display: flex; justify-content: space-between; color: var(--muted); font-size: 12px; }
.coverage-note { margin: 11px 0 0; padding-left: 10px; border-left: 3px solid var(--amber); color: #6f541f; font-size: 12px; line-height: 1.6; }
.pace-panel { padding: 19px 21px; background: #fbfcfd; border-left: 1px solid var(--line); }
.pace-row { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.pace-row span { color: var(--muted); }
.pace-alert { margin-top: 14px; padding: 10px 11px; background: #fff4f2; color: #8d2b28; border: 1px solid #f0c8c4; border-radius: 4px; font-size: 12px; line-height: 1.6; }

.role-command-center { margin-bottom: 14px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-top: 4px solid #0c7c86; border-radius: var(--radius); }
.role-command-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.role-command-head h2 { margin: 4px 0 0; font-size: 20px; }
.role-command-head p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.role-command-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; max-width: 520px; }
.role-target-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 16px; }
.role-target-grid article { min-width: 0; padding: 13px; background: var(--surface-2); border-left: 3px solid #aeb7c1; }
.role-target-grid article:first-child { border-left-color: #0c7c86; }
.role-target-grid span, .role-target-grid small { display: block; color: var(--muted); font-size: 10px; line-height: 1.45; }
.role-target-grid strong { display: block; margin: 6px 0 5px; font-size: 20px; }
.role-progress-line { margin-top: 10px; padding: 11px 13px; border: 1px solid var(--line); background: #fbfcfd; }
.role-progress-line > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; }
.role-progress-line .progress-track { height: 7px; margin: 8px 0; }
.role-progress-line small { color: var(--muted); font-size: 9px; line-height: 1.5; }
.role-command-body { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 10px; margin-top: 10px; }
.role-diagnosis, .role-action-list { padding: 14px; border: 1px solid var(--line); }
.role-diagnosis h3 { margin: 6px 0 12px; font-size: 15px; line-height: 1.55; }
.role-gap-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.role-gap-list div { display: grid; grid-template-columns: 22px 1fr; gap: 6px; padding: 9px; background: #fff6ed; color: #5e4630; font-size: 10px; line-height: 1.5; }
.role-gap-list b { color: var(--amber); }
.role-subhead { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.role-subhead > span:last-child { color: var(--muted); font-size: 9px; }
.role-action-row { display: grid; grid-template-columns: 22px 1fr; gap: 8px; padding: 9px 0; border-top: 1px solid var(--line); font-size: 11px; line-height: 1.55; }
.role-action-row:first-of-type { margin-top: 8px; }
.role-action-row b { color: #0c7c86; }
.script-queue { margin-top: 10px; padding: 14px; border: 1px solid var(--line); background: #fbfcfd; }
.script-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; }
.script-grid article { padding: 11px; background: #fff; border-top: 3px solid #0c7c86; }
.script-grid strong, .script-grid span, .script-grid small { display: block; }
.script-grid strong { font-size: 12px; }
.script-grid span { margin-top: 4px; color: var(--blue); font-size: 9px; }
.script-grid p { margin: 8px 0; color: #46515d; font-size: 10px; line-height: 1.55; }
.script-grid small { padding-top: 7px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; line-height: 1.5; }
.role-proof-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 16px; margin-top: 10px; padding-top: 11px; border-top: 1px solid var(--line); color: #4b5662; font-size: 10px; }
.role-proof-bar span { display: inline-flex; align-items: center; gap: 6px; }
.role-proof-bar svg { width: 14px; height: 14px; color: var(--green); }
.role-proof-bar .action-btn { margin-left: auto; }
.worker-command-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.worker-command-head h2 { margin: 4px 0 0; font-size: 20px; }
.worker-command-head p { max-width: 800px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.worker-mode { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; color: #145aa8; background: #eaf2fc; border: 1px solid #c9dcf3; border-radius: 4px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.worker-mode svg { width: 14px; height: 14px; }
.worker-target-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 16px; }
.worker-target-grid article { min-width: 0; padding: 13px; background: var(--surface-2); border-left: 3px solid #1769e0; }
.worker-target-grid article:nth-child(2) { border-left-color: var(--amber); }
.worker-target-grid article:nth-child(3) { border-left-color: #0c7c86; }
.worker-target-grid article:nth-child(4) { border-left-color: var(--green); }
.worker-target-grid span, .worker-target-grid small { display: block; color: var(--muted); font-size: 10px; line-height: 1.45; }
.worker-target-grid strong { display: block; margin: 6px 0 5px; font-size: 16px; line-height: 1.35; overflow-wrap: anywhere; }
.worker-route-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; padding-top: 11px; border-top: 1px solid var(--line); color: #4b5662; font-size: 10px; }
.worker-route-bar > span { display: inline-flex; align-items: center; gap: 6px; line-height: 1.5; }
.worker-route-bar svg { width: 14px; height: 14px; color: var(--blue); }

.role-guide-section { margin-bottom: 14px; padding: 18px 20px 20px; background: var(--surface); border: 1px solid var(--line); border-top: 4px solid #1769e0; border-radius: var(--radius); }
.role-guide-heading { align-items: flex-start; }
.role-guide-heading h2 { margin: 4px 0 0; font-size: 19px; }
.role-guide-heading p { max-width: 760px; margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.role-guide-quick-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.role-guide-quick-actions .action-btn, .guide-tab { display: inline-flex; align-items: center; gap: 6px; }
.role-guide-quick-actions svg, .guide-tab svg { width: 14px; height: 14px; }
.guide-tabs { display: flex; gap: 5px; margin-top: 16px; border-bottom: 1px solid var(--line); }
.guide-tab { min-height: 36px; padding: 7px 11px; color: var(--muted); background: transparent; border: 0; border-bottom: 3px solid transparent; font-size: 11px; font-weight: 800; }
.guide-tab:hover { color: var(--blue); background: #f5f8fc; }
.guide-tab.active { color: var(--blue); border-bottom-color: var(--blue); background: #f5f8fc; }
.guide-content-head { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-top: 14px; }
.guide-content-head strong { color: #46515d; font-size: 11px; line-height: 1.5; text-align: right; }
.guide-step-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 10px; }
.guide-step { min-width: 0; padding: 12px; border: 1px solid var(--line); background: #fbfcfd; }
.guide-step:nth-child(1) { border-top: 3px solid #0c7c86; }
.guide-step:nth-child(2) { border-top: 3px solid #1769e0; }
.guide-step:nth-child(3) { border-top: 3px solid #a96900; }
.guide-step:nth-child(4) { border-top: 3px solid #16825d; }
.guide-step-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.guide-index { width: 24px; height: 24px; display: inline-grid; place-items: center; color: #fff; background: #171b21; border-radius: 3px; font-size: 10px; font-weight: 800; }
.guide-step time { color: var(--blue); font-size: 10px; font-weight: 800; }
.guide-step > strong { display: block; margin-top: 10px; font-size: 13px; }
.guide-step > p { min-height: 62px; margin: 7px 0 10px; color: #4b5662; font-size: 10px; line-height: 1.6; }
.guide-step-meta { display: grid; gap: 6px; padding-top: 8px; border-top: 1px solid var(--line); }
.guide-step-meta span { display: grid; gap: 2px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.guide-step-meta b { color: #35404a; font-size: 9px; }
.guide-next-bar, .guide-submit-note { display: flex; align-items: flex-start; gap: 8px; margin-top: 10px; padding: 10px 11px; color: #37536c; background: #f1f7ff; border: 1px solid #c9dcf3; font-size: 10px; line-height: 1.55; }
.guide-next-bar svg, .guide-submit-note svg { flex: 0 0 auto; width: 15px; height: 15px; color: var(--blue); }
.guide-deliverable-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; }
.guide-deliverable { display: grid; grid-template-columns: 26px 1fr; gap: 9px; min-width: 0; padding: 12px; border: 1px solid var(--line); background: #fbfcfd; }
.guide-deliverable strong, .guide-deliverable p, .guide-deliverable small { display: block; }
.guide-deliverable strong { font-size: 12px; line-height: 1.4; }
.guide-due { display: inline-block; margin-top: 4px; padding: 3px 5px; color: #835300; background: #fff3d9; border-radius: 3px; font-size: 9px; }
.guide-deliverable p { margin: 8px 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.guide-deliverable small { padding-top: 7px; border-top: 1px solid var(--line); color: #4b5662; font-size: 9px; line-height: 1.5; }
.guide-boundary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; }
.guide-list { min-width: 0; padding: 12px; border: 1px solid var(--line); }
.guide-list.allowed { border-top: 3px solid var(--green); background: #f4fbf7; }
.guide-list.approval { border-top: 3px solid var(--amber); background: #fffbf1; }
.guide-list.forbidden { border-top: 3px solid var(--red); background: #fff6f5; }
.guide-list-head { display: flex; align-items: center; gap: 7px; font-size: 12px; }
.guide-list-head svg { width: 15px; height: 15px; }
.guide-list.allowed .guide-list-head svg { color: var(--green); }
.guide-list.approval .guide-list-head svg { color: var(--amber); }
.guide-list.forbidden .guide-list-head svg { color: var(--red); }
.guide-list ul { margin: 9px 0 0; padding-left: 17px; color: #4b5662; font-size: 10px; line-height: 1.65; }
.escalation-head { margin-top: 16px; }
.guide-escalation-list { display: grid; gap: 6px; margin-top: 10px; }
.guide-escalation-list article { display: grid; grid-template-columns: 35px 1fr auto; align-items: start; gap: 9px; padding: 9px 10px; border: 1px solid var(--line); background: #fbfcfd; }
.guide-escalation-list article > b { color: #4b5662; font-size: 9px; white-space: nowrap; }
.guide-escalation-list strong { display: block; font-size: 10px; line-height: 1.5; }
.guide-escalation-list p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }

.factory-section { margin-bottom: 14px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-top: 4px solid #a96900; border-radius: var(--radius); }
.factory-heading { align-items: flex-start; }
.factory-heading h2 { margin: 4px 0 0; font-size: 19px; }
.factory-heading p { max-width: 860px; margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.factory-updated { display: inline-flex; align-items: center; gap: 6px; padding: 5px 7px; color: #725018; background: #fff8e8; border: 1px solid #efd9a4; border-radius: 4px; font-size: 10px; font-weight: 700; }
.factory-updated svg { width: 14px; height: 14px; }
.factory-batches { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 15px; }
.factory-batch { display: grid; grid-template-columns: 1fr 1fr .6fr; gap: 10px; align-items: start; padding: 12px; border: 1px solid var(--line); border-left: 4px solid var(--green); background: #fbfcfd; }
.factory-batch.blocked { border-left-color: var(--red); background: #fff8f7; }
.factory-batch span, .factory-batch strong { display: block; }
.factory-batch span { color: var(--muted); font-size: 9px; }
.factory-batch strong { margin-top: 4px; font-size: 13px; }
.factory-batch p { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 5px; margin: 0; padding-top: 8px; border-top: 1px solid var(--line); color: #6c4f31; font-size: 9px; line-height: 1.5; }
.factory-batch p svg { flex: 0 0 auto; width: 13px; height: 13px; }
.factory-queue-tabs { display: flex; gap: 5px; margin-top: 14px; overflow-x: auto; border-bottom: 1px solid var(--line); }
.factory-queue-tab { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 7px 10px; color: var(--muted); background: transparent; border: 0; border-bottom: 3px solid transparent; font-size: 10px; font-weight: 800; }
.factory-queue-tab b { min-width: 19px; padding: 2px 5px; color: #4b5662; background: #e9edf0; border-radius: 10px; font-size: 9px; }
.factory-queue-tab:hover, .factory-queue-tab.active { color: #835300; background: #fff9ed; border-bottom-color: var(--amber); }
.factory-queue-status { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 0; }
.factory-queue-status strong, .factory-queue-status span { display: block; }
.factory-queue-status strong { font-size: 12px; }
.factory-queue-status span { margin-top: 3px; color: var(--muted); font-size: 9px; }
.factory-queue-status p { max-width: 700px; margin: 0; color: #5a6470; font-size: 10px; line-height: 1.5; text-align: right; }
.factory-orders { display: grid; gap: 8px; }
.factory-order { padding: 13px; border: 1px solid var(--line); background: #fbfcfd; }
.factory-order-head { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.factory-order-head > div { display: flex; flex-wrap: wrap; gap: 5px; }
.factory-type, .factory-approval { display: inline-flex; padding: 3px 6px; border-radius: 3px; font-size: 9px; font-weight: 800; }
.factory-type { color: #145aa8; background: #eaf2fc; }
.factory-approval.approval { color: #a32c2c; background: #feeceb; }
.factory-approval.execute { color: #176c4f; background: #eaf7f1; }
.factory-order h3 { margin: 9px 0; font-size: 13px; line-height: 1.45; }
.factory-order-meta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.factory-order-meta span { display: grid; gap: 3px; padding: 7px 8px; color: #4b5662; background: #fff; border: 1px solid var(--line); font-size: 9px; line-height: 1.45; }
.factory-order-meta b { color: var(--muted); font-size: 8px; }
.factory-order-main { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 7px; }
.factory-order-main section { padding: 8px; border-left: 3px solid #aeb7c1; background: #fff; }
.factory-order-main section:first-child { border-left-color: var(--blue); }
.factory-order-main section:last-child { border-left-color: var(--amber); }
.factory-order-main span { color: var(--muted); font-size: 8px; font-weight: 800; }
.factory-order-main p { margin: 4px 0 0; color: #3f4953; font-size: 9px; line-height: 1.5; }
.data-stamp { display: inline-flex; align-items: center; gap: 3px; margin-top: 4px; color: #6e7a86; font-size: 8px; line-height: 1.3; white-space: nowrap; }
.data-stamp svg { width: 11px; height: 11px; flex: 0 0 auto; }
.factory-order-main .data-stamp { display: flex; }
.factory-order-foot { display: flex; justify-content: space-between; gap: 14px; align-items: flex-end; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.factory-order-foot > div { min-width: 0; }
.factory-order-foot strong { font-size: 9px; }
.factory-order-foot p { margin: 3px 0; color: #4b5662; font-size: 9px; line-height: 1.45; }
.factory-order-foot small { color: var(--muted); font-size: 8px; line-height: 1.45; }
.factory-order-foot .action-btn { flex: 0 0 auto; }
.factory-empty { display: grid; justify-items: start; gap: 5px; padding: 18px; color: var(--muted); background: #fbfcfd; border: 1px dashed #bdc6ce; }
.factory-empty svg { width: 20px; height: 20px; }
.factory-empty strong { color: #394550; font-size: 12px; }
.factory-empty p { margin: 0; font-size: 10px; line-height: 1.5; }

.portfolio-section { margin-bottom: 14px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-top: 4px solid #171b21; border-radius: var(--radius); }
.portfolio-head { align-items: flex-start; }
.portfolio-head h2 { margin: 4px 0 0; font-size: 20px; }
.portfolio-head p { max-width: 900px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.portfolio-status, .project-state, .milestone-state { display: inline-flex; align-items: center; width: max-content; padding: 4px 7px; color: #4e5965; background: #edf0f2; border-radius: 3px; font-size: 9px; font-weight: 800; }
.portfolio-status.at_risk, .project-state.at_risk, .milestone-state.blocked { color: #a32c2c; background: #feeceb; }
.project-state.active, .milestone-state.active, .milestone-state.review { color: #145aa8; background: #eaf2fc; }
.project-state.on_track, .milestone-state.accepted, .milestone-state.done { color: #176c4f; background: #eaf7f1; }
.portfolio-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 16px; border: 1px solid var(--line); }
.portfolio-summary article { min-width: 0; padding: 12px 14px; border-right: 1px solid var(--line); background: #fbfcfd; }
.portfolio-summary article:last-child { border-right: 0; }
.portfolio-summary span, .portfolio-summary small { display: block; color: var(--muted); font-size: 9px; line-height: 1.45; }
.portfolio-summary strong { display: block; margin: 5px 0; font-size: 19px; }
.project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.project-card { min-width: 0; min-height: 188px; padding: 14px; text-align: left; color: var(--ink); background: #fff; border: 1px solid var(--line); border-top: 4px solid #c63838; border-radius: 4px; }
.project-card.level-p2 { border-top-color: #1769e0; }
.project-card.level-p3 { border-top-color: #16825d; }
.project-card:hover, .project-card:focus-visible { border-color: #8ba9c9; box-shadow: 0 8px 22px rgb(30 61 86 / 9%); outline: 0; }
.project-level { display: inline-flex; align-items: center; padding: 3px 6px; color: #fff; background: #c63838; border-radius: 3px; font-size: 10px; font-weight: 800; }
.project-card.level-p2 .project-level { background: #1769e0; }
.project-card.level-p3 .project-level { background: #16825d; }
.project-card > .project-state { float: right; }
.project-card > strong { display: block; margin-top: 13px; font-size: 15px; line-height: 1.45; }
.project-card > small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.project-goal { display: flex; justify-content: space-between; align-items: end; gap: 8px; margin-top: 13px; }
.project-goal b { font-size: 20px; }
.project-goal span { color: var(--red); font-size: 10px; }
.project-progress { height: 5px; margin-top: 11px; overflow: hidden; background: #e9edf0; border-radius: 2px; }
.project-progress span { display: block; height: 100%; background: #16825d; }
.project-meta { display: flex; align-items: center; gap: 10px; margin-top: 10px; color: var(--muted); font-size: 9px; }
.project-meta svg { width: 14px; height: 14px; margin-left: auto; color: var(--blue); }
.portfolio-governance { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 12px; border: 1px solid var(--line); }
.governance-column { min-width: 0; padding: 12px; border-right: 1px solid var(--line); }
.governance-column:last-child { border-right: 0; }
.governance-title { display: flex; align-items: center; gap: 6px; padding-bottom: 8px; border-bottom: 1px solid var(--line); font-size: 11px; }
.governance-title svg { width: 14px; height: 14px; color: var(--blue); }
.governance-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; padding: 9px 0; border-bottom: 1px solid #edf0f2; }
.governance-row:last-child { border-bottom: 0; }
.governance-row strong { display: block; font-size: 9px; line-height: 1.45; }
.governance-row p { display: -webkit-box; margin: 4px 0 0; overflow: hidden; color: var(--muted); font-size: 8px; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.governance-row > span { color: var(--muted); font-size: 8px; white-space: nowrap; }
.allocation-integrity { display: flex; align-items: center; gap: 7px; margin-top: 10px; padding: 9px 11px; color: #725018; background: #fff8e8; border: 1px solid #efd9a4; font-size: 10px; line-height: 1.5; }
.allocation-integrity.pass { color: #176c4f; background: #eaf7f1; border-color: #c8e5d8; }
.allocation-integrity svg { flex: 0 0 auto; width: 15px; height: 15px; }

.deployment-section { margin-top: 14px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-top: 4px solid var(--dark); border-radius: var(--radius); }
.deployment-head { align-items: flex-start; }
.deployment-head p { max-width: 920px; margin: 8px 0 0; color: #46515d; font-size: 12px; line-height: 1.65; }
.campaign-status { flex: 0 0 auto; padding: 6px 8px; color: #fff; background: var(--green); border-radius: 3px; font-size: 10px; font-weight: 800; }
.campaign-summary { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: 12px; margin-top: 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.campaign-command { padding: 15px 15px 15px 0; border-right: 1px solid var(--line); }
.campaign-command strong { display: block; font-size: 22px; line-height: 1.3; }
.campaign-command span { display: block; margin-top: 7px; color: #45505c; font-size: 11px; line-height: 1.6; }
.campaign-command small { display: block; margin-top: 10px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.campaign-clock { display: grid; grid-template-columns: repeat(5, 1fr); }
.campaign-clock div { min-width: 0; padding: 13px 10px; border-right: 1px solid var(--line); }
.campaign-clock div:last-child { border-right: 0; }
.campaign-clock time { display: block; color: var(--blue); font-size: 14px; font-weight: 800; }
.campaign-clock span, .campaign-clock strong { display: block; margin-top: 5px; font-size: 9px; line-height: 1.45; }
.campaign-clock span { color: #47515d; }
.campaign-clock strong { color: var(--muted); font-weight: 600; }
.scenario-table-wrap, .package-table-wrap { margin-top: 14px; overflow: auto; border: 1px solid var(--line); }
.scenario-table, .package-table { min-width: 900px; }
.scenario-table td, .package-table td { line-height: 1.5; }
.scenario-table td span, .package-table td span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.scenario-table tr.scenario-command td:first-child { box-shadow: inset 3px 0 0 var(--blue); }
.scenario-table tr.scenario-model td:first-child { box-shadow: inset 3px 0 0 var(--amber); }
.phase-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 14px; border: 1px solid var(--line); }
.campaign-phase { min-width: 0; padding: 12px; border-right: 1px solid var(--line); background: var(--surface-2); }
.campaign-phase:last-child { border-right: 0; }
.campaign-phase.current { background: #eef5ff; box-shadow: inset 0 3px 0 var(--blue); }
.campaign-phase.complete { background: #f0f8f4; box-shadow: inset 0 3px 0 var(--green); }
.campaign-phase span, .campaign-phase strong, .campaign-phase b, .campaign-phase small { display: block; }
.campaign-phase span { color: var(--muted); font-size: 9px; font-weight: 700; }
.campaign-phase strong { margin-top: 5px; font-size: 11px; }
.campaign-phase b { margin-top: 7px; font-size: 17px; }
.campaign-phase small { margin-top: 5px; color: #53606c; font-size: 9px; line-height: 1.45; }
.package-heading { display: flex; justify-content: space-between; align-items: end; gap: 14px; margin-top: 18px; }
.package-heading h3 { margin: 4px 0 0; font-size: 15px; }
.package-heading > span { color: var(--blue); font-size: 11px; font-weight: 800; }
.package-status { display: inline-block !important; width: max-content; margin: 0 !important; padding: 3px 6px; border-radius: 3px; background: #edf0f2; color: #4f5b67 !important; font-weight: 800; }
.package-status.accepted, .package-status.in_progress, .package-status.completed { color: #176c4f !important; background: #eaf7f1; }
.package-status.blocked { color: #a32c2c !important; background: #feeceb; }
.package-ack { margin-top: 7px; padding: 6px 8px; color: #fff; background: var(--blue); border: 0; border-radius: 4px; font-size: 10px; font-weight: 700; }
.campaign-guardrails { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--line); }
.campaign-guardrails span { display: inline-flex; align-items: center; gap: 6px; color: #4b5662; font-size: 10px; }
.campaign-guardrails svg { width: 13px; height: 13px; color: var(--green); }

.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 14px 0; }
.metric-card { padding: 16px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.metric-card .label { color: var(--muted); font-size: 12px; }
.metric-card strong { display: block; margin: 7px 0 5px; font-size: 22px; }
.metric-card .sub { font-size: 12px; color: var(--muted); line-height: 1.5; }
.metric-card .sub.negative { color: #5bf08a; background: #0b0f0d; font-weight: 800; }
.metric-card .sub.positive { color: #c82020; font-weight: 800; }

.workline, .paid-guard-section, .patrol-section, .special-section, .proactive-section, .product-section, .evidence-section { margin-top: 14px; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.icu-section { margin-top: 14px; padding: 20px; color: #fff; background: #b42318; border: 1px solid #8f1b13; border-radius: var(--radius); box-shadow: 0 8px 24px rgb(120 17 11 / 20%); }
.icu-heading, .icu-title, .icu-alerts article { display: flex; align-items: center; }
.icu-heading { justify-content: space-between; gap: 16px; }
.icu-title { gap: 11px; }
.icu-title > svg { width: 30px; height: 30px; }
.icu-title span { display: block; color: #ffd8d5; font-size: 10px; font-weight: 800; }
.icu-title h2 { margin: 2px 0 0; font-size: 21px; }
.icu-section .incident-status { color: #fff; background: #6f120c; border: 1px solid rgb(255 255 255 / 35%); }
.icu-current { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr); gap: 18px; margin-top: 15px; padding: 14px; background: rgb(74 7 4 / 34%); border: 1px solid rgb(255 255 255 / 22%); }
.icu-current span { color: #ffd8d5; font-size: 9px; font-weight: 800; }
.icu-current h3 { margin: 5px 0 0; font-size: 16px; line-height: 1.45; }
.icu-current p { margin: 0; color: #fff; font-size: 12px; line-height: 1.65; }
.icu-meta { display: grid; grid-template-columns: .8fr 1.5fr .8fr .8fr; align-items: stretch; margin-top: 10px; border: 1px solid rgb(255 255 255 / 22%); }
.icu-meta > span { min-width: 0; padding: 9px 10px; border-right: 1px solid rgb(255 255 255 / 22%); color: #fff; font-size: 9px; line-height: 1.5; }
.icu-meta > span:last-child { border-right: 0; }
.icu-meta b { display: block; margin-bottom: 3px; color: #ffd8d5; font-size: 8px; }
.icu-alerts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.icu-alerts article { align-items: flex-start; gap: 9px; min-width: 0; padding: 11px; color: #fff; background: #85170f; border: 1px solid rgb(255 255 255 / 22%); }
.icu-alerts article > span { flex: 0 0 auto; padding: 3px 6px; color: #a2140b; background: #fff; border-radius: 3px; font-size: 9px; font-weight: 900; }
.icu-alerts article > svg { flex: 0 0 auto; width: 18px; }
.icu-alerts strong { font-size: 11px; }
.icu-alerts p { margin: 4px 0; font-size: 10px; line-height: 1.5; }
.icu-alerts small { display: block; color: #ffd8d5; font-size: 9px; line-height: 1.5; }
.icu-thresholds { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; margin-top: 10px; }
.icu-section .threshold-row { display: block; padding: 9px; border: 1px solid rgb(255 255 255 / 22%); background: rgb(74 7 4 / 24%); }
.icu-section .threshold-row strong, .icu-section .threshold-row span { display: block; color: #fff; }
.icu-section .threshold-row span { margin-top: 4px; font-size: 8px; }
.icu-section .rescue-stages { border-color: rgb(255 255 255 / 25%); }
.icu-section .rescue-stage { border-color: rgb(255 255 255 / 25%); background: rgb(74 7 4 / 20%); }
.icu-section .rescue-stage time, .icu-section .rescue-stage strong, .icu-section .rescue-stage span { color: #fff; }
.icu-section .workstream { color: #fff; background: #85170f; border-left-color: #fff; }
.icu-section .workstream.active { background: #69100a; border-left-color: #fff; }
.icu-section .workstream.observe { border-left-color: #ffd166; }
.icu-section .workstream-top span, .icu-section .workstream p, .icu-section .workstream-owner { color: #fff; }
.icu-title span { font-size: 14px; }
.icu-title h2 { font-size: 28px; }
.icu-current span { font-size: 13px; }
.icu-current h3 { font-size: 22px; }
.icu-current p { font-size: 16px; line-height: 1.75; }
.icu-meta > span { padding: 13px 14px; font-size: 14px; line-height: 1.6; }
.icu-meta b { font-size: 12px; }
.icu-alerts article { padding: 16px; }
.icu-alerts article > span { font-size: 12px; }
.icu-alerts strong { font-size: 16px; }
.icu-alerts p { font-size: 14px; line-height: 1.65; }
.icu-alerts small { font-size: 13px; }
.icu-section .threshold-row strong { font-size: 14px; }
.icu-section .threshold-row span { font-size: 12px; line-height: 1.55; }
.icu-section .rescue-stage time, .icu-section .rescue-stage strong { font-size: 14px; }
.icu-section .rescue-stage span { font-size: 13px; line-height: 1.55; }
.icu-section .workstream-top strong { font-size: 15px; }
.icu-section .workstream-top span, .icu-section .workstream p, .icu-section .workstream-owner { font-size: 13px; line-height: 1.6; }
.icon-button { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 5px; background: #fff; color: var(--ink); }
.icon-button:hover { border-color: #9fb7d6; color: var(--blue); }
.icon-button svg { width: 17px; height: 17px; }
.pipeline { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-top: 16px; }
.pipe-step { min-height: 78px; padding: 12px; background: var(--surface-2); border-left: 3px solid #b8c1cb; }
.pipe-step.active { background: #eef5ff; border-left-color: var(--blue); }
.pipe-step.done { background: #eff8f4; border-left-color: var(--green); }
.pipe-step strong { display: block; font-size: 20px; }
.pipe-step span { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; }

.guard-mode { padding: 5px 7px; color: #a32c2c; background: #feeceb; border-radius: 3px; font-size: 10px; font-weight: 800; }
.guard-overview { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 10px; margin-top: 14px; }
.guard-status, .guard-alert { padding: 13px; border: 1px solid var(--line); background: var(--surface-2); }
.guard-status strong, .guard-alert strong { display: block; font-size: 13px; }
.guard-status p, .guard-alert p { margin: 7px 0 0; color: #4c5662; font-size: 11px; line-height: 1.6; }
.guard-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 9px; color: var(--muted); font-size: 9px; }
.guard-rules { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-top: 10px; }
.guard-rule { min-width: 0; padding: 10px; border-top: 3px solid var(--amber); background: #fbfaf7; }
.guard-rule.P0 { border-top-color: var(--red); }
.guard-rule strong { display: block; font-size: 10px; }
.guard-rule span { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.45; }

.next-patrol { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; color: var(--blue); background: #eef5ff; border: 1px solid #cddff6; border-radius: 4px; font-size: 11px; font-weight: 700; }
.next-patrol svg { width: 14px; height: 14px; }
.patrol-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; margin-top: 16px; }
.patrol-timeline { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); }
.patrol-step { min-width: 0; padding: 14px 12px; border-right: 1px solid var(--line); background: var(--surface-2); }
.patrol-step:last-child { border-right: 0; }
.patrol-step.active { background: #eef5ff; box-shadow: inset 0 3px 0 var(--blue); }
.patrol-step.complete { background: #f0f8f4; box-shadow: inset 0 3px 0 var(--green); }
.patrol-step time { display: block; color: var(--blue); font-size: 17px; font-weight: 800; }
.patrol-step strong { display: block; margin-top: 7px; font-size: 12px; line-height: 1.45; }
.patrol-step span { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.green-lane { padding: 14px; color: #15372d; background: #f0f8f4; border: 1px solid #c8e5d8; }
.green-head { display: flex; gap: 9px; align-items: center; }
.green-head svg { width: 18px; color: var(--green); }
.green-head strong, .green-head span { display: block; }
.green-head strong { font-size: 13px; }
.green-head span { margin-top: 2px; color: #4c6d62; font-size: 10px; }
.threshold-list { display: grid; gap: 6px; margin-top: 11px; }
.threshold-row { display: grid; grid-template-columns: 78px 1fr; gap: 8px; padding-top: 6px; border-top: 1px solid #d8ebe3; font-size: 10px; line-height: 1.45; }
.threshold-row strong { color: #285b49; }
.threshold-row span { color: #527166; }
.last-patrol { margin-top: 12px; padding: 10px 12px; color: #46515d; background: #f7f9fa; border-left: 3px solid var(--blue); font-size: 11px; line-height: 1.6; }
.rescue-command { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.rescue-command-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.rescue-command-head h3 { margin: 4px 0 0; font-size: 16px; line-height: 1.45; }
.incident-status { flex: 0 0 auto; padding: 5px 7px; color: #a32c2c; background: #feeceb; border-radius: 3px; font-size: 10px; font-weight: 800; }
.incident-summary { margin: 11px 0 0; color: #46515d; font-size: 12px; line-height: 1.65; }
.rescue-stages { display: grid; grid-template-columns: repeat(6, 1fr); margin-top: 13px; border: 1px solid var(--line); }
.rescue-stage { min-width: 0; padding: 10px; border-right: 1px solid var(--line); }
.rescue-stage:last-child { border-right: 0; }
.rescue-stage time { display: block; color: var(--red); font-size: 11px; font-weight: 800; }
.rescue-stage strong { display: block; margin-top: 5px; font-size: 11px; }
.rescue-stage span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.workstream-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; }
.workstream { padding: 11px; background: var(--surface-2); border-left: 3px solid #aeb7c1; }
.workstream.active { border-left-color: var(--blue); background: #f2f7fd; }
.workstream.observe { border-left-color: var(--amber); }
.workstream-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.workstream-top strong { font-size: 11px; }
.workstream-top span { color: var(--muted); font-size: 9px; }
.workstream p { margin: 7px 0 0; color: #4c5662; font-size: 10px; line-height: 1.55; }
.workstream-owner { margin-top: 7px; color: var(--blue); font-size: 9px; font-weight: 700; }

.main-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(360px, .7fr); gap: 14px; margin-top: 14px; }
.decision-panel, .task-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.decision-panel { padding: 20px; }
.panel-head { justify-content: space-between; align-items: flex-start; gap: 16px; }
.diagnosis-summary { margin: 15px 0 18px; color: #3b4652; font-size: 13px; line-height: 1.75; }
.loss-tree { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.loss-item { padding: 11px; background: var(--surface-2); border-top: 3px solid #99a4b0; }
.loss-item.critical { border-top-color: var(--red); }
.loss-item.warning { border-top-color: var(--amber); }
.loss-item strong { display: block; font-size: 13px; }
.loss-item span { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.decision-list { margin-top: 16px; }
.decision-row { display: grid; grid-template-columns: 24px 1fr; gap: 8px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 13px; line-height: 1.6; }
.decision-row b { color: var(--blue); }

.task-panel { min-height: 530px; overflow: hidden; }
.task-panel .panel-head { padding: 18px 18px 12px; }
.count-badge { min-width: 28px; height: 28px; display: grid; place-items: center; background: var(--dark); color: #fff; border-radius: 4px; font-size: 12px; }
.task-filters { display: flex; gap: 18px; padding: 0 18px; border-bottom: 1px solid var(--line); }
.filter { padding: 9px 0; color: var(--muted); background: transparent; border: 0; border-bottom: 2px solid transparent; font-size: 12px; }
.filter.active { color: var(--blue); border-bottom-color: var(--blue); font-weight: 700; }
.task-list { max-height: 430px; overflow: auto; }
.task-item { padding: 14px 18px; border-bottom: 1px solid var(--line); cursor: pointer; }
.task-item:hover { background: #f8fafc; }
.task-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.priority, .status, .risk-pill { border-radius: 3px; padding: 3px 6px; font-size: 10px; font-weight: 800; }
.priority.P0, .risk-pill.critical { color: #a32c2c; background: #feeceb; }
.priority.P1, .risk-pill.warning { color: #835300; background: #fff3d9; }
.priority.P2, .risk-pill.stable { color: #176c4f; background: #eaf7f1; }
.status { color: #4f5b67; background: #edf0f2; }
.task-item h3 { margin: 8px 0 7px; font-size: 14px; line-height: 1.45; }
.task-item p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.task-owner { display: flex; justify-content: space-between; gap: 8px; margin-top: 9px; color: #4e5965; font-size: 11px; }
.sla-pill { display: inline-flex; align-items: center; width: max-content; max-width: 55%; padding: 2px 5px; border-radius: 3px; font-weight: 700; text-align: right; }
.sla-pill.overdue { color: #a32c2c; background: #feeceb; }
.sla-pill.warning { color: #8a5a00; background: #fff4dc; }
.sla-pill.on_track, .sla-pill.done { color: #176c4f; background: #eaf7f1; }
.task-cta { width: 100%; min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; padding: 7px 9px; color: #0c5f67; background: #edf8f8; border: 1px solid #c6e4e5; border-radius: 4px; font-size: 11px; font-weight: 700; }
.task-cta:hover { background: #e1f2f3; border-color: #8fc8cb; }
.task-cta svg { width: 14px; height: 14px; }
.empty { padding: 36px 18px; color: var(--muted); text-align: center; font-size: 13px; }

.special-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.special-card { min-width: 0; padding: 15px; background: var(--surface-2); border: 1px solid var(--line); border-top: 3px solid var(--blue); }
.special-card.warning { border-top-color: var(--amber); }
.special-card.critical { border-top-color: var(--red); }
.special-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.special-title { display: flex; align-items: center; gap: 8px; }
.special-title svg { width: 17px; height: 17px; color: var(--blue); }
.special-title strong { font-size: 13px; }
.special-state { padding: 3px 5px; color: var(--muted); background: #fff; border: 1px solid var(--line); border-radius: 3px; font-size: 9px; }
.special-primary { margin-top: 13px; }
.special-primary strong { font-size: 20px; line-height: 1.3; }
.special-primary span { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.special-card p { min-height: 48px; margin: 11px 0; color: #4e5965; font-size: 11px; line-height: 1.55; }
.special-next { padding-top: 9px; border-top: 1px solid var(--line); color: #37424e; font-size: 10px; line-height: 1.55; }
.special-owner { display: flex; justify-content: space-between; gap: 10px; margin-top: 9px; color: var(--muted); font-size: 9px; }
.lane-badge { margin-left: 6px; padding: 2px 5px; color: #fff; background: #b42318; border-radius: 3px; font-size: 9px; font-weight: 800; }

.audit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 14px; }
.audit-item { min-width: 0; padding: 12px; background: var(--surface-2); border: 1px solid var(--line); }
.audit-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.audit-top strong { font-size: 11px; }
.audit-top span { padding: 2px 5px; color: var(--muted); background: #fff; border: 1px solid var(--line); border-radius: 3px; font-size: 9px; }
.audit-item p { min-height: 48px; margin: 8px 0; color: #4d5762; font-size: 10px; line-height: 1.55; }
.audit-next { padding-top: 7px; border-top: 1px solid var(--line); color: var(--blue); font-size: 9px; line-height: 1.5; }
.audit-owner { margin-top: 6px; color: var(--muted); font-size: 9px; }

.table-tools { gap: 8px; }
.search-box { gap: 7px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 5px; }
.search-box input { width: 150px; border: 0; outline: 0; }
.table-tools select { padding: 7px 9px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.table-wrap { margin-top: 14px; overflow: auto; border: 1px solid var(--line); }
.product-table-wrap { max-height: min(72vh, 760px); overflow: auto; scrollbar-gutter: stable; }
.product-class-tabs { display: flex; gap: 8px; padding: 12px 18px 0; overflow-x: auto; }
.product-class-tab { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 12px; color: #4e5c68; background: #f3f6f8; border: 1px solid #d8e0e6; font-size: 13px; font-weight: 800; }
.product-class-tab b { min-width: 23px; padding: 2px 6px; color: #fff; background: #6d7c88; border-radius: 12px; font-size: 11px; }
.product-class-tab.active { color: #fff; background: #164e72; border-color: #164e72; }
.product-class-tab.active b { color: #164e72; background: #fff; }
.product-class-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 10px 18px 0; }
.product-class-progress article { display: grid; grid-template-columns: minmax(0, 1fr) 78px 38px; align-items: center; gap: 9px; min-width: 0; padding: 11px 12px; border: 1px solid #d8e0e6; background: #fff; }
.product-class-progress strong, .product-class-progress span { display: block; }
.product-class-progress strong { font-size: 13px; }
.product-class-progress span { margin-top: 3px; color: #6b7883; font-size: 10px; line-height: 1.4; }
.product-class-progress > article > b { color: #164e72; font-size: 13px; text-align: right; }
.class-progress-track { height: 7px; overflow: hidden; background: #e5ebef; border-radius: 4px; }
.class-progress-track span { height: 100%; margin: 0; background: #1c806d; border-radius: 4px; }
.product-table-wrap th { top: 0; z-index: 4; box-shadow: 0 2px 0 var(--line); }
.product-table { min-width: 1320px; }
.term-help { margin: 12px 18px 0; border: 1px solid #ccd8e3; background: #f7fafc; }
.term-help summary { display: flex; align-items: center; gap: 8px; padding: 12px 14px; color: #24435d; cursor: pointer; font-size: 14px; font-weight: 800; }
.term-help summary::marker { content: ""; }
.term-help summary svg { width: 18px; height: 18px; }
.term-help-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border-top: 1px solid #ccd8e3; background: #ccd8e3; }
.term-help-grid > div { min-width: 0; padding: 12px 14px; background: #fff; }
.term-help-grid strong { display: block; color: #172b3b; font-size: 13px; }
.term-help-grid span { display: block; margin-top: 4px; color: #546675; font-size: 12px; line-height: 1.55; }
table { width: 100%; border-collapse: collapse; min-width: 980px; }
th, td { padding: 11px 12px; text-align: left; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); vertical-align: middle; font-size: 12px; }
th:last-child, td:last-child { border-right: 0; }
th { position: sticky; top: 0; z-index: 1; background: #f5f7f9; color: #4d5864; font-size: 11px; }
th > small { display: block; margin-top: 3px; color: #788694; font-size: 10px; font-weight: 500; }
td.product-name { min-width: 240px; max-width: 340px; }
.product-name strong { display: block; line-height: 1.45; }
.product-name span { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.product-link { color: #145aa8; text-decoration: none; }
.product-link:hover { text-decoration: underline; }
.product-detail-title { display: block; width: 100%; padding: 0; text-align: left; color: #145aa8; background: transparent; border: 0; }
.product-detail-title:hover, .product-detail-title:focus-visible { text-decoration: underline; outline: 0; }
.dialog-title .product-link { display: inline-flex; align-items: center; gap: 5px; }
.dialog-title .product-link svg { width: 13px; height: 13px; }
.fee-cell { min-width: 95px; }
.fee-cell span, .fee-cell small { display: block; }
.fee-cell small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.fee-value { font-weight: 800; }
.detail-link { display: block; width: max-content; margin-top: 7px; padding: 5px 7px; color: var(--blue); background: #eef5ff; border: 1px solid #cddff6; border-radius: 3px; font-size: 9px; }
.focus-cell { min-width: 280px; line-height: 1.55; }
.negative { color: #5bf08a; background: #0b0f0d; font-weight: 800; }
.positive { color: #c82020; font-weight: 800; }
.metric-missing { color: #7a838d; background: transparent; font-weight: 700; }

.evidence-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 14px; }
.evidence-item { padding: 13px; background: var(--surface-2); border-left: 3px solid var(--blue); }
.evidence-item.inference { border-left-color: var(--amber); }
.evidence-item strong { display: block; font-size: 13px; }
.evidence-item p { margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }

dialog { width: min(760px, calc(100% - 24px)); max-height: calc(100vh - 28px); padding: 0; border: 0; border-radius: 6px; box-shadow: 0 24px 80px rgba(0,0,0,.28); overflow: auto; }
#productDialog, #projectDialog { width: min(1080px, calc(100% - 24px)); }
dialog::backdrop { background: rgba(18, 22, 27, .55); }
.dialog-shell { position: relative; padding: 24px; }
.dialog-close { position: absolute; top: 14px; right: 14px; }
.dialog-title { padding-right: 42px; }
.dialog-title h2 { margin: 7px 0 6px; font-size: 20px; }
.dialog-title p { margin: 0; color: var(--muted); font-size: 12px; }
.detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 18px 0; }
.detail-box { padding: 11px; background: var(--surface-2); border: 1px solid var(--line); }
.detail-box span { display: block; color: var(--muted); font-size: 10px; }
.detail-box strong { display: block; margin-top: 5px; font-size: 13px; line-height: 1.45; }
.sla-detail.overdue { border-color: #efc1bd; background: #fff4f2; }
.sla-detail.warning { border-color: #efd9a4; background: #fff8e8; }
.sla-detail.on_track, .sla-detail.done { border-color: #c8e5d8; background: #f0f8f4; }
.instruction { padding: 13px; background: #f3f7fc; border-left: 3px solid var(--blue); font-size: 13px; line-height: 1.7; }
.ai-task-brief { margin-top: 14px; border: 1px solid #b9cfe4; background: #f7fbff; }
.ai-task-brief-head { display: flex; align-items: center; gap: 9px; padding: 12px 14px; color: #fff; background: #164e72; }
.ai-task-brief-head strong { font-size: 16px; }
.ai-task-brief-head span { margin-left: auto; font-size: 12px; }
.ai-task-verdict { margin: 0; padding: 14px; color: #1f3546; background: #eaf4fb; font-size: 14px; line-height: 1.75; }
.ai-task-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #d5e2ec; border-top: 1px solid #d5e2ec; }
.ai-task-grid > section { padding: 14px; background: #fff; }
.ai-task-grid strong { display: block; color: #173a52; font-size: 13px; }
.ai-task-grid p, .ai-task-grid li { color: #425563; font-size: 13px; line-height: 1.65; }
.ai-task-grid p { margin: 7px 0 0; }
.ai-task-grid ol { margin: 7px 0 0; padding-left: 20px; }
.ai-task-grid .task-guardrail { background: #fff8e8; }
.ai-task-grid .task-stop { background: #fff2f0; }
.execution-blueprint { margin-top: 14px; border: 2px solid #1d6f8d; background: #fff; }
.execution-blueprint-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; color: #fff; background: #1d6f8d; }
.execution-blueprint-head h3 { margin: 3px 0 0; font-size: 17px; }
.execution-blueprint-head span:last-child { flex: 0 0 auto; padding: 4px 7px; border: 1px solid rgba(255,255,255,.6); font-size: 11px; }
.execution-blueprint-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #c8dce5; }
.execution-blueprint-summary article { padding: 14px 15px; background: #f5fbfd; }
.execution-blueprint-summary strong, .execution-blueprint-grid strong { display: block; color: #173a52; font-size: 13px; }
.execution-blueprint-summary p, .execution-blueprint-grid p, .execution-blueprint-grid li { color: #425563; font-size: 13px; line-height: 1.7; }
.execution-blueprint-summary p, .execution-blueprint-grid p { margin: 6px 0 0; }
.execution-blueprint-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #d5e2ec; }
.execution-blueprint-grid > section { min-width: 0; padding: 14px 15px; background: #fff; }
.execution-blueprint-grid ol { display: grid; gap: 8px; margin: 7px 0 0; padding: 0; list-style: none; counter-reset: blueprint; }
.execution-blueprint-grid ol li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px; counter-increment: blueprint; }
.execution-blueprint-grid ol li > span { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; color: #fff; background: #1d6f8d; border-radius: 50%; font-size: 11px; font-weight: 800; }
.execution-blueprint-grid ol li p { margin: 0; }
.buyer-plan { margin: 1px; border-top: 1px solid #c8dce5; background: #f4fbf7; }
.buyer-plan-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 14px 15px 10px; }
.buyer-plan-head h4 { margin: 3px 0 0; color: #173a52; font-size: 16px; }
.buyer-plan-head > span { padding: 4px 7px; color: #176044; background: #dff3e8; font-size: 11px; font-weight: 800; }
.buyer-plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0 14px 14px; background: #c6dfd0; }
.buyer-plan-grid article { min-width: 0; padding: 12px; background: #fff; }
.buyer-plan-grid strong { display: block; color: #185e41; font-size: 12px; }
.buyer-plan-grid p { margin: 6px 0 0; color: #425563; font-size: 12px; line-height: 1.65; }
.main-image-detail { margin: 1px; border-top: 1px solid #c8dce5; background: #f7fbfd; }
.main-image-detail-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 14px 15px 10px; }
.main-image-detail-head h4 { margin: 3px 0 0; color: #173a52; font-size: 16px; }
.main-image-detail-head > span { padding: 4px 7px; color: #245678; background: #e5f2f8; font-size: 11px; font-weight: 800; }
.main-image-spec-grid, .main-image-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0 14px 12px; background: #c8dce5; }
.main-image-spec-grid article, .main-image-check-grid section { min-width: 0; padding: 12px; background: #fff; }
.main-image-spec-grid strong, .main-image-check-grid strong { display: block; color: #173a52; font-size: 12px; }
.main-image-spec-grid p, .main-image-check-grid p, .main-image-plan-card p { margin: 6px 0 0; color: #425563; font-size: 12px; line-height: 1.65; }
.main-image-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0 14px 12px; background: #c8dce5; }
.main-image-plan-card { min-width: 0; padding: 12px; background: #fff; }
.main-image-plan-title { display: flex; align-items: center; gap: 8px; }
.main-image-plan-title strong { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 26px; color: #fff; background: #1d6f8d; font-size: 12px; }
.main-image-plan-title span { color: #173a52; font-size: 13px; font-weight: 800; }
.main-image-plan-card b { color: #245678; }
.main-image-plan-card .main-image-avoid { color: #8a3d35; }
.main-image-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 14px; }
.main-image-check-grid ul { display: grid; gap: 7px; margin: 8px 0 0; padding: 0; list-style: none; }
.main-image-check-grid li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 7px; align-items: start; }
.main-image-check-grid li > span { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; color: #245678; background: #d8eaf6; border-radius: 50%; font-size: 10px; font-weight: 800; }
.main-image-check-grid li p { margin: 1px 0 0; }
.task-release-standard { margin-top: 14px; border: 2px solid #bed2e3; background: #fff; }
.task-release-standard.ready { border-color: #b8dec8; }
.task-release-standard.blocked { border-color: #edc0ba; }
.task-release-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 12px 14px; color: #fff; background: #173e58; }
.task-release-standard.ready .task-release-head { background: #176044; }
.task-release-standard.blocked .task-release-head { background: #8e2f2b; }
.task-release-head > div { display: flex; align-items: center; gap: 8px; }
.task-release-head svg { width: 18px; height: 18px; }
.task-release-head strong { font-size: 15px; }
.task-release-head span { max-width: 58%; font-size: 11px; line-height: 1.5; text-align: right; }
.task-release-standard ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0; padding: 0; background: var(--line); list-style: none; }
.task-release-standard li { display: flex; align-items: flex-start; gap: 7px; min-width: 0; padding: 11px 12px; background: #fff; }
.task-release-standard li svg { flex: 0 0 auto; width: 15px; height: 15px; margin-top: 1px; }
.task-release-standard li.pass svg { color: #14824d; }
.task-release-standard li.missing { color: #9b312b; background: #fff5f3; }
.task-release-standard li.missing svg { color: #bd322b; }
.task-release-standard li span { min-width: 0; }
.task-release-standard li b, .task-release-standard li small { display: block; }
.task-release-standard li b { font-size: 11px; }
.task-release-standard li small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.task-delivery-checklist { margin-top: 14px; border: 1px solid #bed2e3; background: #f8fbfd; }
.task-delivery-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #d5e2ec; }
.task-delivery-head h3 { margin: 4px 0 0; color: #173a52; font-size: 17px; }
.task-delivery-head > span { padding: 4px 7px; color: #245678; background: #e7f1f8; font-size: 11px; font-weight: 800; }
.task-submit-route { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 0; padding: 0; background: #d5e2ec; list-style: none; counter-reset: route; }
.task-submit-route li { min-width: 0; padding: 12px; background: #fff; counter-increment: route; }
.task-submit-route li::before { content: counter(route); display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin-bottom: 7px; color: #fff; background: #20638c; border-radius: 50%; font-weight: 800; }
.task-submit-route b, .task-submit-route span { display: block; }
.task-submit-route b { color: #173a52; font-size: 12px; }
.task-submit-route span { margin-top: 5px; color: #536370; font-size: 10px; line-height: 1.5; }
.task-required-evidence { padding: 12px 14px; background: #eef6fb; border-top: 1px solid #d5e2ec; }
.task-required-evidence > strong { color: #173a52; font-size: 12px; }
.task-required-evidence ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px 16px; margin: 8px 0 0; padding: 0; list-style: none; }
.task-required-evidence li { display: grid; grid-template-columns: 22px 1fr; gap: 7px; align-items: start; }
.task-required-evidence li > span { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; color: #245678; background: #d8eaf6; border-radius: 50%; font-size: 10px; font-weight: 800; }
.task-required-evidence p { margin: 2px 0 0; color: #425563; font-size: 10px; line-height: 1.5; }
.task-flow-hint, .task-action-help, .form-banner { display: flex; align-items: flex-start; gap: 7px; color: #3d5c76; background: #f1f7ff; border: 1px solid #c9dcf3; font-size: 10px; line-height: 1.55; }
.task-flow-hint { margin-top: 10px; padding: 9px 10px; }
.task-action-help { margin-top: 14px; padding: 9px 10px; }
.task-flow-hint svg, .task-action-help svg, .form-banner svg { flex: 0 0 auto; width: 14px; height: 14px; color: var(--blue); }
.dialog-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.action-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.action-btn svg { width: 14px; height: 14px; }
.action-btn.primary { color: #fff; background: var(--blue); border-color: var(--blue); }
.action-btn.danger { color: #a32c2c; border-color: #efc1bd; background: #fff4f2; }
.submit-form { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 14px; padding: 13px; border: 1px solid var(--line); background: #fbfcfd; }
.submit-form .form-banner { grid-column: 1 / -1; padding: 8px 9px; }
.submit-form label { display: grid; gap: 5px; color: #394550; font-size: 10px; font-weight: 700; }
.submit-form label:first-child, .submit-form label:last-of-type { grid-column: 1 / -1; }
.submit-form input, .submit-form textarea { width: 100%; padding: 9px; border: 1px solid var(--line); border-radius: 4px; }
.submit-form textarea { min-height: 78px; resize: vertical; }
.submit-form label small { color: var(--muted); font-weight: 400; line-height: 1.45; }
.form-hint { color: var(--muted); font-weight: 400; line-height: 1.45; }
.upload-field { padding: 9px; border: 1px dashed #9fb7d6; background: #f3f7fc; }
.block-form { margin-top: 9px; padding: 10px; background: #fff8e8; border: 1px solid #efd9a4; }
.block-form label { display: grid; gap: 5px; color: #725018; font-size: 10px; font-weight: 700; }
.block-form input { width: 100%; padding: 9px; border: 1px solid #d8c18d; border-radius: 4px; }
.block-form .form-hint { color: #80632c; font-size: 9px; font-weight: 400; line-height: 1.45; }
.remind-form { margin-top: 9px; padding: 10px; background: #f1f7ff; border: 1px solid #c9dcf3; }
.remind-form label { display: grid; gap: 5px; color: #37536c; font-size: 10px; font-weight: 700; }
.remind-form input { width: 100%; padding: 9px; border: 1px solid #a9c5e6; border-radius: 4px; }
.remind-form .form-hint { color: #54718a; font-size: 9px; font-weight: 400; line-height: 1.45; }
.submit-form button { grid-column: 1 / -1; }
.task-submit-workspace { display: block; padding: 14px; }
.classification-source-note { display: grid; gap: 4px; margin: 10px 0; padding: 12px 14px; color: #214c3b; background: #effaf4; border: 1px solid #9ed8b8; border-left: 4px solid #16734c; }
.classification-source-note strong { font-size: 13px; }
.classification-source-note span, .classification-source-note small { color: #4b6257; line-height: 1.5; }
.classification-source-note.pending { color: #7a4d08; background: #fff8e8; border-color: #e8c878; border-left-color: #bb7811; }
.classification-source-note.pending span, .classification-source-note.pending small { color: #765d2d; }
.task-closure-panel { margin: 14px 0; padding: 14px; border: 1px solid #b8d4e8; background: #f5faff; }
.task-closure-head { display: grid; gap: 4px; margin-bottom: 12px; }
.task-closure-head strong { color: #173a52; font-size: 14px; }
.task-closure-head span { color: #536370; line-height: 1.55; }
.task-closure-panel ol { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0; padding: 0; list-style: none; }
.task-closure-panel li { min-width: 0; padding: 9px; color: #66737e; background: #fff; border: 1px solid #d9e3eb; }
.task-closure-panel li > span { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-right: 5px; color: #fff; background: #b6c3cd; border-radius: 50%; font-weight: 800; }
.task-closure-panel li.done { color: #185e41; border-color: #9ed8b8; background: #f4fff8; }
.task-closure-panel li.done > span { background: #16825d; }
.task-closure-panel li strong, .task-closure-panel li small { display: block; margin-top: 5px; }
.task-closure-panel li strong { font-size: 11px; }
.task-closure-panel li small { color: #6c7881; line-height: 1.35; }
.task-closure-proof { margin-top: 10px; color: #415766; font-size: 11px; line-height: 1.6; }
.task-operation-panel { margin: 14px 0; border: 2px solid #2f7197; background: #fff; box-shadow: 0 5px 14px rgba(22, 78, 114, .08); }
.task-operation-panel.status-submitted { border-color: #c58520; }
.task-operation-panel.status-verified { border-color: #279268; }
.task-operation-panel.status-correction, .task-operation-panel.status-blocked { border-color: #c56c3c; }
.task-operation-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 13px 14px; color: #173a52; background: #eef7fc; }
.task-operation-panel.status-submitted .task-operation-head { background: #fff7e7; }
.task-operation-panel.status-verified .task-operation-head { background: #effaf4; }
.task-operation-panel.status-correction .task-operation-head, .task-operation-panel.status-blocked .task-operation-head { background: #fff5ef; }
.task-operation-head h3 { margin: 3px 0 2px; font-size: 16px; }
.task-operation-head p { margin: 0; color: #536370; font-size: 11px; line-height: 1.5; }
.task-operation-owner { flex: 0 0 auto; padding: 7px 9px; color: #31536b; background: rgba(255, 255, 255, .72); border: 1px solid #c6dbe8; font-size: 10px; line-height: 1.6; text-align: right; }
.task-operation-body { display: grid; gap: 11px; padding: 12px 14px 14px; }
.task-operation-checks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.operation-check { display: flex; align-items: center; gap: 6px; padding: 7px 8px; color: #788590; background: #f7f9fb; border: 1px solid #dbe3e9; font-size: 10px; font-weight: 700; }
.operation-check svg { width: 13px; height: 13px; }
.operation-check.done { color: #186b4b; background: #f1fbf5; border-color: #a9dabe; }
.task-operation-cta { display: flex; align-items: center; gap: 10px; min-height: 40px; }
.task-operation-cta .action-btn { min-height: 40px; padding: 9px 14px; font-size: 12px; font-weight: 800; }
.task-operation-note { display: flex; align-items: center; gap: 6px; margin: 0; color: #66737e; font-size: 11px; line-height: 1.5; }
.task-operation-note svg { width: 14px; height: 14px; color: #718391; }
.task-value-card { margin: 14px 0; border: 1px solid #bdd1df; background: #fbfdff; }
.task-value-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 13px 14px; color: #173a52; background: #eef7fc; border-bottom: 1px solid #cddfe9; }
.task-value-head h3 { margin: 3px 0 2px; font-size: 16px; }
.task-value-head p { margin: 0; color: #536370; font-size: 11px; line-height: 1.5; }
.task-value-status { flex: 0 0 auto; padding: 6px 8px; color: #245678; background: #fff; border: 1px solid #b8d4e8; font-size: 10px; font-weight: 800; }
.task-value-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #dbe6ed; }
.task-value-grid article { min-width: 0; padding: 12px; background: #fff; }
.task-value-grid article > span { display: block; margin-bottom: 6px; color: #567184; font-size: 10px; font-weight: 800; }
.task-value-grid article > strong { display: block; color: #173a52; font-size: 12px; line-height: 1.45; }
.task-value-grid article > p, .task-value-grid article > small { display: block; margin: 5px 0 0; color: #4d5f6b; font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.task-value-grid article > small { color: #778690; font-size: 10px; }
.task-value-how { grid-column: 1 / -1; }
.task-value-how ol { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.task-value-how li { display: grid; grid-template-columns: 22px 1fr; gap: 7px; align-items: start; }
.task-value-how li > span { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; color: #fff; background: #176044; border-radius: 50%; font-size: 10px; font-weight: 800; }
.task-value-how li p { margin: 2px 0 0; color: #425563; font-size: 11px; line-height: 1.5; }
.task-value-reasoning, .task-value-example { margin-top: 10px; padding: 9px 10px; border-left: 3px solid #4a8bb4; background: #f1f7fb; }
.task-value-example { border-left-color: #a96900; background: #fff9ed; }
.task-value-reasoning b, .task-value-example b { color: #245678; font-size: 10px; }
.task-value-example b { color: #8a5d08; }
.task-value-reasoning p, .task-value-example p { margin: 4px 0 0; color: #526976; font-size: 10px; line-height: 1.55; }
.task-value-flow { display: grid; grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1fr); gap: 6px; align-items: center; margin-top: 10px; padding-top: 9px; border-top: 1px dashed #e1c98f; }
.task-value-flow > svg { width: 14px; height: 14px; color: #a96900; justify-self: center; }
.task-value-flow-step { display: grid; grid-template-columns: 20px minmax(0, 1fr); grid-template-rows: auto auto; gap: 0 6px; align-items: center; min-width: 0; padding: 6px 7px; background: rgba(255, 255, 255, .78); border: 1px solid #efd9a8; }
.task-value-flow-step > b { grid-row: 1 / 3; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; color: #fff; background: #a96900; border-radius: 50%; font-size: 10px; }
.task-value-flow-step > strong { min-width: 0; color: #704f0b; font-size: 10px; line-height: 1.3; overflow-wrap: anywhere; }
.task-value-flow-step > small { min-width: 0; color: #7f6b3e; font-size: 9px; line-height: 1.3; overflow-wrap: anywhere; }
.task-submit-workspace .form-banner { margin-bottom: 12px; padding: 10px 11px; }
.submit-step-label { display: flex; align-items: flex-start; gap: 9px; margin: 14px 0 7px; }
.submit-step-label > span { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; flex: 0 0 auto; color: #fff; background: #176044; border-radius: 50%; font-size: 12px; font-weight: 800; }
.submit-step-label strong, .submit-step-label small { display: block; }
.submit-step-label strong { color: #173a52; font-size: 13px; }
.submit-step-label small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.submit-step-field { display: grid; gap: 5px; margin: 0; color: #394550; font-size: 11px; font-weight: 700; }
.submit-step-field textarea { min-height: 78px; }
.primary-upload { display: flex !important; align-items: center; gap: 10px; min-height: 62px; margin-top: 4px; border: 2px dashed #4a8bb4; background: #eef7fc; cursor: pointer; }
.primary-upload > svg { width: 24px; height: 24px; color: #20638c; }
.primary-upload span { display: grid; gap: 3px; }
.primary-upload b { color: #174c6c; font-size: 12px; }
.primary-upload small { color: #54718a; font-size: 10px; font-weight: 400; }
.primary-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-status { margin: 6px 0 0; color: #54718a; font-size: 10px; line-height: 1.5; }
.uploaded-evidence { margin-top: 8px; padding: 9px; border: 1px solid #d4e1ea; background: #fff; }
.uploaded-evidence > strong { display: block; color: #173a52; font-size: 11px; }
.uploaded-evidence .evidence-link { margin-top: 5px; }
.empty-evidence { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }
.external-evidence-field { display: grid; gap: 5px; margin-top: 10px; color: #394550; font-size: 11px; font-weight: 700; }
.external-evidence-field input { width: 100%; padding: 9px; border: 1px solid var(--line); border-radius: 4px; }
.final-submit { margin-top: 16px; min-height: 42px; font-size: 13px; }
.instruction small { color: var(--muted); }
.product-period-table { min-width: 780px; }
.product-period-table td small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.fee-method { margin-top: 12px; }
.fee-method ul { margin: 8px 0 0; padding-left: 18px; color: #4b5662; font-size: 10px; line-height: 1.7; }
.product-ai-brief { margin: 16px 0; border: 1px solid #b9cfe4; background: #f8fbfd; }
.product-ai-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 14px 16px; color: #fff; background: #164e72; }
.product-ai-head .eyebrow { color: #cce5f5; }
.product-ai-head h3 { margin: 4px 0 0; font-size: 19px; }
.product-ai-head > span { font-size: 12px; white-space: nowrap; }
.product-ai-verdict { padding: 15px 16px; background: #eaf4fb; }
.product-ai-verdict strong { display: block; color: #153e5a; font-size: 13px; }
.product-ai-verdict p { margin: 5px 0 12px; color: #2c4658; font-size: 14px; line-height: 1.7; }
.product-ai-verdict p:last-child { margin-bottom: 0; }
.comparison-table { min-width: 760px; }
.comparison-table th, .comparison-table td { font-size: 12px; line-height: 1.55; }
.comparison-status { display: inline-block; padding: 4px 6px; color: #7b4f00; background: #fff2ce; font-size: 11px; font-weight: 800; }
.product-strategy-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1px; background: #d5e2ec; border-top: 1px solid #d5e2ec; }
.product-strategy-grid section { padding: 15px 16px; background: #fff; }
.product-strategy-grid strong { color: #173a52; font-size: 13px; }
.product-strategy-grid p, .product-strategy-grid li { color: #425563; font-size: 13px; line-height: 1.65; }
.product-strategy-grid ol { margin: 8px 0 0; padding-left: 21px; }
.product-strategy-grid p { margin: 6px 0 12px; }
.product-ai-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; border-top: 1px solid #d5e2ec; color: #5c6d79; font-size: 11px; }
.product-ai-foot > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.product-ai-foot .detail-link { margin: 0; }
.allocation-formula { margin-top: 16px; }
.allocation-formula span { margin-top: 7px; line-height: 1.6; }
.allocation-table table { min-width: 900px; }
.dialog-footnote { color: var(--muted); font-size: 10px; line-height: 1.6; }
.notes { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.notes-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; }
.notes-header > strong { color: #173a52; font-size: 14px; }
.task-header-action { flex: 0 0 auto; min-height: 38px; padding: 9px 14px; font-size: 12px; font-weight: 800; box-shadow: 0 2px 0 rgba(19, 63, 91, .12); }
.notes-empty { margin: 8px 0 0; color: var(--muted); font-size: 11px; }
.submitted-evidence, .review-result { margin-top: 12px; padding: 11px; border: 1px solid var(--line); background: #fbfcfd; }
.submitted-evidence > strong, .review-result > strong { display: block; font-size: 11px; }
.evidence-link, .submitted-evidence > span { display: flex; align-items: center; gap: 6px; margin-top: 7px; color: var(--blue); font-size: 10px; text-decoration: none; overflow-wrap: anywhere; }
.evidence-link svg { flex: 0 0 auto; width: 13px; height: 13px; }
.review-result.pass { background: #f0f8f4; border-color: #c8e5d8; }
.review-result.correction { background: #fff4f2; border-color: #efc1bd; }
.review-result p { margin: 6px 0; color: #4c5662; font-size: 10px; line-height: 1.55; }
.review-result small { color: var(--muted); font-size: 9px; }
.notes p { display: grid; grid-template-columns: 118px 1fr; gap: 8px; margin: 7px 0; color: var(--muted); font-size: 11px; }
.notes time { color: #7c8793; font-size: 9px; }
.project-dialog-title .project-level { margin-bottom: 4px; }
.project-detail-goal { display: grid; grid-template-columns: repeat(4, 1fr); margin: 18px 0; border: 1px solid var(--line); }
.project-detail-goal > div { min-width: 0; padding: 11px; border-right: 1px solid var(--line); }
.project-detail-goal > div:last-child { border-right: 0; }
.project-detail-goal span { display: block; color: var(--muted); font-size: 9px; }
.project-detail-goal strong { display: block; margin-top: 5px; font-size: 15px; }
.dialog-section-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 15px 0 8px; }
.dialog-section-title > strong { color: var(--muted); font-size: 9px; }
.milestone-list { border: 1px solid var(--line); }
.milestone-row { padding: 12px; border-bottom: 1px solid var(--line); }
.milestone-row:last-child { border-bottom: 0; }
.milestone-main { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 9px; align-items: start; }
.milestone-main strong, .milestone-main small { display: block; }
.milestone-main strong { font-size: 12px; }
.milestone-main small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.milestone-main p { margin: 6px 0 0; color: #4d5762; font-size: 10px; line-height: 1.5; }
.milestone-tasks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 9px; }
.milestone-tasks button { min-width: 0; padding: 8px; text-align: left; color: #394550; background: #f7f9fa; border: 1px solid var(--line); border-radius: 3px; font-size: 9px; line-height: 1.45; }
.milestone-tasks button:hover { border-color: #9fb7d6; }
.milestone-tasks button .priority { margin-right: 5px; }
.milestone-tasks button small { display: block; margin-top: 4px; color: var(--muted); }
.empty-inline { color: var(--muted); font-size: 9px; }
.milestone-review { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px; margin-top: 9px; }
.milestone-review input { min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 4px; font-size: 10px; }
.project-record-grid, .project-write-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.project-record-grid > section { min-width: 0; }
.project-record { padding: 9px 0; border-bottom: 1px solid var(--line); }
.project-record strong { display: block; font-size: 10px; line-height: 1.45; }
.project-record p { margin: 5px 0; color: #4d5762; font-size: 9px; line-height: 1.5; }
.project-record small { color: var(--muted); font-size: 8px; }
.project-write-grid { margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--line); }
.project-write-grid .submit-form { grid-template-columns: 1fr; margin-top: 0; align-content: start; }
.project-write-grid .submit-form > strong { font-size: 12px; }
.project-write-grid select { width: 100%; padding: 8px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.toast { position: fixed; right: 20px; bottom: 20px; max-width: 360px; padding: 11px 14px; color: #fff; background: var(--dark); border-radius: 5px; box-shadow: 0 10px 30px rgba(0,0,0,.2); opacity: 0; transform: translateY(12px); pointer-events: none; transition: .2s ease; font-size: 12px; }
.toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 1000px) {
  .topbar { flex-wrap: wrap; }
  .top-actions { flex: 1 1 620px; }
  .freshness { flex: 1 1 380px; min-width: 360px; }
  .icu-meta { grid-template-columns: 1fr 1fr; }
  .icu-meta > span:nth-child(2) { border-right: 0; }
  .icu-meta > span:nth-child(-n+2) { border-bottom: 1px solid rgb(255 255 255 / 22%); }
  .icu-thresholds { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .portfolio-governance { grid-template-columns: repeat(2, 1fr); }
  .governance-column { border-bottom: 1px solid var(--line); }
  .governance-column:nth-child(2n) { border-right: 0; }
  .governance-column:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .role-target-grid { grid-template-columns: repeat(2, 1fr); }
  .role-command-body { grid-template-columns: 1fr; }
  .guide-step-grid { grid-template-columns: repeat(2, 1fr); }
  .guide-deliverable-grid, .guide-boundary-grid { grid-template-columns: 1fr 1fr; }
  .factory-batches { grid-template-columns: 1fr; }
  .factory-order-meta { grid-template-columns: 1fr 1fr; }
  .script-grid { grid-template-columns: 1fr 1fr; }
  .goal-band, .main-grid { grid-template-columns: 1fr; }
  .pace-panel { border-left: 0; border-top: 1px solid var(--line); }
  .campaign-summary { grid-template-columns: 1fr; }
  .campaign-command { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .campaign-clock { grid-template-columns: repeat(3, 1fr); }
  .campaign-clock div:nth-child(3) { border-right: 0; }
  .campaign-clock div:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .guard-overview { grid-template-columns: 1fr; }
  .guard-rules { grid-template-columns: repeat(3, 1fr); }
  .pipeline { grid-template-columns: repeat(3, 1fr); }
  .patrol-layout { grid-template-columns: 1fr; }
  .rescue-stages { grid-template-columns: repeat(3, 1fr); }
  .rescue-stage:nth-child(3) { border-right: 0; }
  .rescue-stage:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .workstream-grid { grid-template-columns: 1fr 1fr; }
  .special-grid { grid-template-columns: 1fr 1fr; }
  .audit-grid { grid-template-columns: 1fr 1fr; }
  .loss-tree, .evidence-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .topbar { height: auto; min-height: 62px; padding: 10px 14px; gap: 10px; flex-wrap: wrap; }
  .brand span { display: block; }
  .top-actions { width: 100%; flex: 1 1 100%; flex-wrap: wrap; gap: 7px; }
  .freshness { order: 3; display: grid; width: 100%; min-width: 0; max-width: none; }
  .freshness small { font-size: 8px; }
  .brand strong { max-width: 118px; font-size: 13px; line-height: 1.3; }
  .role-picker select { max-width: 112px; }
  .shell { width: calc(100% - 20px); padding-top: 14px; }
  .role-context { align-items: flex-start; gap: 10px; }
  .role-context h1 { font-size: 18px; }
  .role-command-center { padding: 15px; }
  .role-command-head { flex-direction: column; }
  .worker-command-head { flex-direction: column; }
  .worker-target-grid { grid-template-columns: 1fr 1fr; }
  .worker-target-grid strong { font-size: 14px; }
  .worker-route-bar { align-items: stretch; flex-direction: column; }
  .worker-route-bar .action-btn { width: 100%; }
  .icu-section { padding: 14px; }
  .icu-heading { align-items: flex-start; }
  .icu-current { grid-template-columns: 1fr; gap: 8px; }
  .icu-meta, .icu-alerts { grid-template-columns: 1fr; }
  .icu-meta > span { border-right: 0; border-bottom: 1px solid rgb(255 255 255 / 22%); }
  .icu-meta > span:last-child { border-bottom: 0; }
  .icu-thresholds { grid-template-columns: 1fr 1fr; }
  .product-table-wrap { max-height: 62vh; }
  .product-class-tabs { padding: 10px 0 0; }
  .product-class-progress { grid-template-columns: 1fr; padding: 10px 0 0; }
  .term-help { margin: 10px 0 0; }
  .term-help-grid, .ai-task-grid, .execution-blueprint-summary, .execution-blueprint-grid { grid-template-columns: 1fr; }
  .product-strategy-grid { grid-template-columns: 1fr; }
  .product-ai-head, .product-ai-foot { align-items: flex-start; flex-direction: column; }
  .product-ai-foot > div { justify-content: flex-start; }
  .term-help summary, .term-help-grid strong, .term-help-grid span { font-size: 13px; }
  .role-command-badges { justify-content: flex-start; }
  .role-target-grid { grid-template-columns: 1fr 1fr; }
  .role-target-grid strong { font-size: 17px; }
  .role-gap-list, .script-grid { grid-template-columns: 1fr; }
  .role-proof-bar .action-btn { width: 100%; margin-left: 0; }
  .role-guide-section { padding: 15px; }
  .role-guide-heading { flex-direction: column; }
  .role-guide-quick-actions { width: 100%; justify-content: flex-start; }
  .role-guide-quick-actions .action-btn { flex: 1 1 120px; }
  .guide-tabs { overflow-x: auto; }
  .guide-tab { flex: 1 0 auto; justify-content: center; }
  .guide-content-head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .guide-content-head strong { text-align: left; }
  .guide-step-grid, .guide-deliverable-grid, .guide-boundary-grid { grid-template-columns: 1fr; }
  .guide-step > p { min-height: 0; }
  .guide-escalation-list article { grid-template-columns: 35px 1fr; }
  .guide-escalation-list article > b { grid-column: 2; }
  .factory-section { padding: 15px; }
  .task-release-head { flex-direction: column; }
  .task-release-head span { max-width: none; text-align: left; }
  .task-release-standard ul, .task-submit-route, .task-required-evidence ul { grid-template-columns: 1fr; }
  .task-delivery-head { flex-direction: column; }
  .task-operation-head { flex-direction: column; gap: 8px; }
  .task-operation-owner { align-self: flex-start; text-align: left; }
  .task-operation-checks { grid-template-columns: 1fr; }
  .task-operation-cta .action-btn { width: 100%; }
  .task-value-head { flex-direction: column; gap: 8px; }
  .task-value-status { align-self: flex-start; }
  .task-value-grid { grid-template-columns: 1fr; }
  .task-value-how { grid-column: auto; }
  .task-value-flow { grid-template-columns: 1fr; gap: 5px; }
  .task-value-flow > svg { transform: rotate(90deg); }
  .task-submit-workspace { padding: 11px; }
  .factory-heading { flex-direction: column; }
  .factory-batch { grid-template-columns: 1fr 1fr .7fr; }
  .factory-queue-status { align-items: flex-start; flex-direction: column; gap: 5px; }
  .factory-queue-status p { text-align: left; }
  .factory-order-meta, .factory-order-main { grid-template-columns: 1fr; }
  .factory-order-foot { align-items: stretch; flex-direction: column; }
  .factory-order-foot .action-btn { width: 100%; }
  .portfolio-section { padding: 15px; }
  .portfolio-head { flex-direction: column; }
  .portfolio-summary { grid-template-columns: 1fr 1fr; }
  .portfolio-summary article { border-bottom: 1px solid var(--line); }
  .portfolio-summary article:nth-child(2n) { border-right: 0; }
  .portfolio-summary article:nth-last-child(-n+2) { border-bottom: 0; }
  .project-grid { grid-template-columns: 1fr; }
  .project-card { min-height: 168px; }
  .portfolio-governance { grid-template-columns: 1fr; }
  .governance-column, .governance-column:nth-child(2n), .governance-column:last-child { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .governance-column:last-child { border-bottom: 0; }
  .safe-mode { font-size: 10px; }
  .goal-copy { padding: 17px; }
  .goal-main strong { font-size: 26px; }
  .source-chip { display: none; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .metric-card { padding: 12px; }
  .metric-card strong { font-size: 18px; }
  .deployment-section, .workline, .paid-guard-section, .patrol-section, .special-section, .proactive-section, .product-section, .evidence-section { padding: 15px; }
  .deployment-head { flex-direction: column; }
  .campaign-clock { grid-template-columns: 1fr 1fr; }
  .campaign-clock div { border-bottom: 1px solid var(--line); }
  .campaign-clock div:nth-child(2n) { border-right: 0; }
  .campaign-clock div:nth-child(3) { border-right: 1px solid var(--line); }
  .campaign-clock div:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .phase-strip { grid-template-columns: 1fr 1fr; }
  .campaign-phase { border-bottom: 1px solid var(--line); }
  .campaign-phase:nth-child(2n) { border-right: 0; }
  .campaign-phase:nth-last-child(-n+2) { border-bottom: 0; }
  .guard-rules { grid-template-columns: 1fr 1fr; }
  .pipeline { grid-template-columns: repeat(2, 1fr); }
  .patrol-timeline { grid-template-columns: 1fr 1fr; }
  .patrol-step { border-bottom: 1px solid var(--line); }
  .patrol-step:nth-child(2n) { border-right: 0; }
  .patrol-step:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .rescue-command-head { align-items: flex-start; }
  .rescue-stages { grid-template-columns: 1fr 1fr; }
  .rescue-stage { border-bottom: 1px solid var(--line); }
  .rescue-stage:nth-child(2n) { border-right: 0; }
  .rescue-stage:nth-last-child(-n+2) { border-bottom: 0; }
  .workstream-grid { grid-template-columns: 1fr; }
  .special-grid { grid-template-columns: 1fr; }
  .audit-grid { grid-template-columns: 1fr; }
  .loss-tree, .evidence-grid { grid-template-columns: 1fr; }
  .section-heading { align-items: flex-start; }
  .section-heading h2, .panel-head h2 { font-size: 16px; }
  .table-tools { flex-direction: column; align-items: stretch; }
  .search-box input { width: 120px; }
  .detail-grid { grid-template-columns: 1fr; }
  dialog, #productDialog, #projectDialog { width: calc(100% - 8px); max-height: calc(100dvh - 8px); }
  .dialog-shell { padding: 18px 14px 22px; }
  .dialog-title h2 { font-size: 17px; }
  .ai-task-brief-head { align-items: flex-start; flex-direction: column; }
  .ai-task-brief-head span { margin-left: 0; }
  .execution-blueprint-head { align-items: flex-start; flex-direction: column; }
  .execution-blueprint-head span:last-child { align-self: flex-start; }
  .buyer-plan-head { align-items: flex-start; flex-direction: column; }
  .buyer-plan-head > span { align-self: flex-start; }
  .buyer-plan-grid { grid-template-columns: 1fr; margin-left: 10px; margin-right: 10px; }
  .main-image-detail-head { align-items: flex-start; flex-direction: column; }
  .main-image-detail-head > span { align-self: flex-start; }
  .main-image-spec-grid, .main-image-plan-grid, .main-image-check-grid { grid-template-columns: 1fr; margin-left: 10px; margin-right: 10px; }
  .main-image-detail-head { padding-left: 11px; padding-right: 11px; }
  .project-detail-goal { grid-template-columns: 1fr 1fr; }
  .project-detail-goal > div { border-bottom: 1px solid var(--line); }
  .project-detail-goal > div:nth-child(2n) { border-right: 0; }
  .project-detail-goal > div:nth-last-child(-n+2) { border-bottom: 0; }
  .milestone-tasks { grid-template-columns: 1fr; }
  .milestone-review { grid-template-columns: 1fr 1fr; }
  .milestone-review input { grid-column: 1 / -1; }
  .project-record-grid, .project-write-grid { grid-template-columns: 1fr; }
  .action-btn { min-height: 44px; }
  .dialog-actions .action-btn { flex: 1 1 140px; }
  .task-owner { align-items: flex-start; }
  .sla-pill { max-width: 58%; white-space: normal; }
  .notes-header { align-items: stretch; flex-direction: column; gap: 8px; }
  .task-header-action { width: 100%; }
  .notes p { grid-template-columns: 1fr; gap: 2px; }
  .submit-form { grid-template-columns: 1fr; }
  .submit-form label, .submit-form label:first-child, .submit-form label:last-of-type, .submit-form textarea, .submit-form button { grid-column: 1; }
}

@media (max-width: 640px) {
  .handoff-actions .source-chip { display: inline-flex; }
}
