.investigation-page { overflow: auto; }
.investigation-page .investigation-main { flex: 1; min-height: 0; display: block; }
.investigation-page .site-footer { flex-shrink: 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.button-secondary { color: var(--dark-grey); background: var(--white); border: 1px solid var(--rule); }
.button-secondary:hover { color: var(--blue); border-color: var(--blue); }

.event-register { min-height: calc(100vh - 110px); padding-block: 28px; }
.register-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.register-heading h1 { margin-bottom: 9px; font-size: clamp(36px, 4vw, 52px); line-height: 1; letter-spacing: -2px; }
.register-heading > div > p:last-child { max-width: 650px; margin-bottom: 0; color: var(--slate); font-size: 14px; line-height: 1.5; }
.register-metrics { margin-top: 24px; display: grid; grid-template-columns: repeat(3, minmax(120px, 180px)); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.register-metrics div { padding: 12px 18px 12px 0; display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.register-metrics span { color: var(--slate); font-size: 10px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; }
.register-metrics strong { color: var(--blue); font-size: 20px; }
.event-filters { margin-top: 18px; display: grid; grid-template-columns: minmax(260px, 1.6fr) minmax(150px, .7fr) minmax(130px, .55fr) auto auto; align-items: end; gap: 12px; }
.event-filters label > span { margin-bottom: 6px; display: block; color: var(--slate); font-size: 9px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; }
.event-filters input, .event-filters select { width: 100%; height: 42px; padding: 0 11px; color: var(--black); background: var(--white); border: 1px solid #c9c9c9; border-radius: 0; font: 13px Aptos, Arial, sans-serif; }
.event-filters input:focus, .event-filters select:focus { border-color: var(--blue); outline: 2px solid rgba(8,95,165,.12); }
.event-filters .button { min-height: 42px; }
.event-filters .cancel-link { align-self: center; margin-top: 16px; }
.event-table-wrap { margin-top: 18px; border: 1px solid var(--rule); }
.event-table { width: 100%; border-collapse: collapse; }
.event-table th { padding: 9px 13px; color: #777; background: var(--cloud); border-bottom: 1px solid var(--rule); font-size: 9px; font-weight: 700; letter-spacing: .7px; text-align: left; text-transform: uppercase; }
.event-table td { padding: 11px 13px; color: var(--slate); border-bottom: 1px solid var(--rule); font-size: 11px; vertical-align: middle; }
.event-table tbody tr:last-child td { border-bottom: 0; }
.event-table tbody tr:hover { background: var(--cloud); }
.event-table td:first-child { width: 38%; }
.event-table td:first-child a { display: grid; color: inherit; text-decoration: none; }
.event-table td:first-child strong { color: var(--blue); font: 10px Consolas, monospace; }
.event-table td:first-child span { margin-top: 3px; color: var(--black); font-size: 13px; font-weight: 700; }
.event-table td:first-child small { margin-top: 3px; color: #888; font: 9px Consolas, monospace; }
.event-status { font-size: 10px; font-weight: 700; text-transform: uppercase; }
.status-open { color: var(--blue); }
.status-on_hold { color: #816118; }
.status-closed { color: var(--teal); }
.row-action { color: var(--blue); font-size: 10px; font-weight: 700; text-decoration: none; }
.investigation-thread { position: relative; width: min(220px,100%); display: grid; grid-template-columns: repeat(8,1fr); align-items: center; }
.investigation-thread::before { content: ""; position: absolute; right: 6px; left: 6px; top: 50%; height: 2px; background: #c7c7c7; transform: translateY(-50%); }
.thread-node { position: relative; z-index: 1; width: 13px; height: 13px; justify-self: center; display: block; background: #c7c7c7; border: 2px solid var(--white); border-radius: 50%; box-shadow: 0 0 0 1px #aaa; }
a.thread-node { cursor: pointer; }
.thread-node.node-complete { background: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.thread-node::after { content: attr(data-label); position: absolute; left: 50%; bottom: calc(100% + 8px); width: max-content; max-width: 190px; padding: 6px 8px; color: var(--white); background: var(--black); font-size: 8px; line-height: 1.3; opacity: 0; pointer-events: none; transform: translate(-50%,3px); transition: opacity 120ms ease,transform 120ms ease; }
.thread-node:hover::after, .thread-node:focus-visible::after { opacity: 1; transform: translate(-50%,0); }
.thread-node:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.empty-events { padding: 50px 25px; text-align: center; }
.empty-events h2 { font-size: 20px; }
.identifier-list { margin-top: 28px; border-top: 1px solid var(--rule); }
.identifier-list div { padding: 10px 0; border-bottom: 1px solid var(--rule); }
.identifier-list dd { font-family: Consolas, monospace; }

.event-create { min-height: calc(100vh - 110px); display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: center; padding-block: 40px; }
.event-create-intro h1, .event-heading h1, .investigator-heading h1 { margin-bottom: 18px; font-size: clamp(36px, 4vw, 56px); line-height: 1; letter-spacing: -2px; }
.event-create-intro > p { max-width: 530px; color: var(--slate); font-size: 17px; line-height: 1.55; }
.mini-4d { margin: 34px 0 0; padding: 0; display: grid; gap: 0; list-style: none; border-top: 1px solid var(--rule); }
.mini-4d li { padding: 10px 0; display: flex; gap: 14px; color: #999; font-size: 12px; border-bottom: 1px solid var(--rule); }
.mini-4d li span { width: 24px; font-family: Consolas, monospace; font-size: 10px; }
.mini-4d li.active { color: var(--blue); font-weight: 700; }

.event-form { padding: 32px; background: var(--cloud); border: 1px solid var(--rule); }
.form-row { display: grid; grid-template-columns: 1fr 1.15fr; gap: 18px; }
.field { margin-bottom: 18px; }
.field label { margin-bottom: 7px; display: block; color: var(--dark-grey); font-size: 12px; font-weight: 700; }
.field input, .field select, .field textarea { width: 100%; padding: 11px 12px; color: var(--black); background: var(--white); border: 1px solid #c9c9c9; border-radius: 0; font: inherit; font-size: 14px; }
.field textarea { resize: vertical; min-height: 108px; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--blue); outline: 2px solid rgba(8,95,165,.12); }
.field-error input, .field-error select, .field-error textarea { border-color: #a33f3f; }
.error-text { margin-top: 5px; display: block; color: #913232; font-size: 11px; }
.form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 24px; }
.cancel-link, .back-link { color: var(--slate); font-size: 12px; text-underline-offset: 4px; }
.back-link { display: inline-block; margin-bottom: 14px; line-height: 1.4; }
.back-link + .eyebrow { margin-top: 0; }

.event-workspace { min-height: calc(100vh - 110px); padding-block: 30px; }
.event-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 24px; }
.event-heading h1 { margin-bottom: 0; }
.investigation-title { max-width: 720px; margin: 8px 0 0; color: var(--slate); font-size: 16px; line-height: 1.4; }
.event-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.event-4d { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--rule); }
.event-4d > div { position: relative; padding: 13px 15px; display: grid; grid-template-columns: 22px 1fr; border-right: 1px solid var(--rule); }
.event-4d > div:last-child { border-right: 0; }
.event-4d span { grid-row: 1 / 3; color: #aaa; font: 9px Consolas, monospace; }
.event-4d strong { font-size: 12px; text-transform: uppercase; }
.event-4d small { margin-top: 2px; color: var(--slate); font-size: 10px; }
.event-4d .active { border-top: 3px solid var(--blue); padding-top: 10px; }
.event-4d .active span, .event-4d .active strong { color: var(--blue); }
.event-layout { margin-top: 24px; display: grid; grid-template-columns: 1.5fr .7fr; gap: 24px; }
.event-summary, .next-action { padding: 25px; border: 1px solid var(--rule); }
.section-label { margin-bottom: 12px; color: var(--blue); font-size: 9px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; }
.event-summary dl, .case-context dl { margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.event-summary dl div, .case-context dl div { padding: 12px 12px 12px 0; }
dt { margin-bottom: 4px; color: #888; font-size: 9px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; }
dd { margin: 0; font-size: 12px; }
.stage-pill { color: var(--blue); font-weight: 700; }
.event-description { margin-top: 25px; }
.event-description h2, .next-action h2, .case-context h2 { margin-bottom: 8px; font-size: 20px; }
.event-description p, .next-action > p { color: var(--slate); font-size: 13px; line-height: 1.55; }
.next-action { position: relative; background: var(--cloud); }
.next-number { position: absolute; right: 20px; top: 18px; color: #bbb; font: 11px Consolas, monospace; }

.investigation-context { display: grid; grid-template-columns: 1.25fr .75fr; align-items: stretch; background: var(--cloud); border: 1px solid var(--rule); }
.investigation-context dl { margin: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.investigation-context dl div { padding: 15px 16px; border-right: 1px solid var(--rule); }
.investigation-context dd { overflow-wrap: anywhere; }
.investigation-context p { margin: 0; padding: 15px 18px; color: var(--slate); background: var(--white); font-size: 11px; line-height: 1.5; }
.workflow-roadmap { margin-top: 18px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--rule); background: var(--white); }
.roadmap-phase { position: relative; min-width: 0; border-right: 1px solid var(--rule); }
.roadmap-phase:last-child { border-right: 0; }
.roadmap-phase > header { min-height: 92px; padding: 15px 16px; display: grid; grid-template-columns: 24px 1fr; gap: 8px; background: var(--black); }
.roadmap-phase > header > span { color: #62a1cf; font: 9px Consolas,monospace; }
.roadmap-phase > header h2 { margin: 0 0 5px; color: var(--white); font-size: 17px; text-transform: uppercase; }
.roadmap-phase > header p { margin: 0; color: #b9b9b9; font-size: 9px; line-height: 1.4; }
.roadmap-phase:not(:last-child) > header::after { content: "→"; position: absolute; right: -10px; top: 37px; z-index: 5; width: 19px; height: 19px; display: grid; place-items: center; color: var(--white); background: var(--blue); border: 2px solid var(--white); border-radius: 50%; font-size: 10px; }
.roadmap-steps { position: relative; min-height: 300px; margin: 0; padding: 30px 12px 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; list-style: none; }
.roadmap-steps::before { content: ""; position: absolute; left: 12.5%; right: -12.5%; top: 51px; z-index: 0; height: 3px; background: #c8c8c8; }
.roadmap-phase:last-child .roadmap-steps::before { right: 12.5%; }
.roadmap-step { position: relative; z-index: 1; min-width: 0; }
.roadmap-complete::after { content: ""; position: absolute; left: 50%; top: 20px; z-index: -1; width: calc(100% + 8px); height: 3px; background: var(--blue); }
.roadmap-phase:last-child .roadmap-step:last-child::after { display: none; }
.roadmap-step > a { height: 100%; padding: 0 6px 10px; display: flex; flex-direction: column; align-items: center; color: inherit; text-align: center; text-decoration: none; }
.roadmap-node { width: 44px; height: 44px; display: grid; place-items: center; color: #777; background: var(--white); border: 3px solid #b9b9b9; border-radius: 50%; box-shadow: 0 0 0 5px var(--white); }
.roadmap-node b { font: 9px Consolas,monospace; }.roadmap-node i { display: none; font-size: 14px; font-style: normal; font-weight: 700; }
.roadmap-copy { min-width: 0; margin-top: 15px; display: flex; flex: 1; flex-direction: column; align-items: center; }
.roadmap-copy > small { color: #888; font-size: 7px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; }
.roadmap-copy > strong { margin-top: 6px; font-size: 14px; line-height: 1.2; }
.roadmap-copy > em { margin-top: 8px; color: var(--slate); font-size: 9px; font-style: normal; line-height: 1.4; }
.roadmap-copy > span { margin-top: auto; padding-top: 12px; color: #888; font-size: 8px; line-height: 1.35; }
.roadmap-complete .roadmap-node { color: var(--white); background: var(--blue); border-color: var(--blue); }.roadmap-complete .roadmap-node b { display: none; }.roadmap-complete .roadmap-node i { display: block; }.roadmap-complete .roadmap-copy > small { color: var(--blue); }
.roadmap-current .roadmap-node { color: var(--blue); border-color: var(--blue); box-shadow: 0 0 0 5px var(--white), 0 0 0 7px rgba(8,95,165,.22); }.roadmap-current .roadmap-copy > small, .roadmap-current .roadmap-copy > strong { color: var(--blue); }
.roadmap-future { color: #777; }.roadmap-future .roadmap-copy > em, .roadmap-future .roadmap-copy > span { color: #999; }
.roadmap-step > a:hover .roadmap-node, .roadmap-step > a:focus-visible .roadmap-node { transform: translateY(-2px); box-shadow: 0 0 0 5px var(--white), 0 0 0 7px rgba(8,95,165,.25); }.roadmap-step > a:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }

.investigator-shell { min-height: calc(100vh - 110px); padding-block: 18px; }
.investigator-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 12px; }
.investigator-heading-actions, .report-actions { display: flex; align-items: center; gap: 10px; }
.investigator-heading .back-link { display: inline-block; margin-bottom: 8px; }
.investigator-heading .eyebrow { margin-bottom: 5px; }
.investigator-heading h1 { margin-bottom: 0; font-size: 32px; }
.readiness-badge { padding: 8px 10px; color: var(--slate); background: var(--cloud); border: 1px solid var(--rule); font-size: 10px; text-transform: uppercase; letter-spacing: .5px; }
.readiness-badge strong { margin-left: 8px; color: var(--blue); }
.investigator-layout { display: grid; grid-template-columns: .72fr 1.55fr .72fr; min-height: calc(100vh - 222px); border: 1px solid var(--rule); }
.case-context, .investigation-checks { padding: 20px; background: var(--cloud); }
.case-context { border-right: 1px solid var(--rule); }
.case-context dl { grid-template-columns: 1fr 1fr; }
.case-description { color: var(--slate); font-size: 12px; line-height: 1.5; }
.evidence-state { margin-top: 20px; padding-top: 13px; display: flex; justify-content: space-between; color: var(--slate); border-top: 1px solid var(--rule); font-size: 11px; }
.evidence-state strong { color: var(--blue); }
.assistant-panel { min-width: 0; display: flex; flex-direction: column; }
.assistant-thread { flex: 1; max-height: calc(100vh - 405px); min-height: 210px; padding: 22px; overflow-y: auto; }
.empty-thread { margin: 20px; padding: 18px; color: var(--slate); background: var(--cloud); border-left: 3px solid var(--blue); font-size: 11px; line-height: 1.5; }
.assistant-message, .user-message, .system-message { display: grid; grid-template-columns: 35px 1fr; gap: 12px; margin-bottom: 20px; }
.assistant-mark { width: 35px; height: 35px; display: grid; place-items: center; color: var(--white); background: var(--black); border-radius: 50%; font-size: 8px; font-weight: 700; }
.assistant-mark img { width: 35px; height: 35px; display: block; }
.assistant-message .assistant-mark { background: transparent; border-radius: 0; }
.message-label { margin-bottom: 6px; color: var(--blue); font-size: 9px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; }
.assistant-message div > p:not(.message-label), .user-message div > p:not(.message-label) { margin-bottom: 8px; font-size: 13px; line-height: 1.5; }
.user-message .assistant-mark { color: var(--dark-grey); background: var(--light-grey); }
.system-message .assistant-mark { background: #913232; }
.system-message .message-label, .composer-error { color: #913232; }
.assistant-composer { padding: 15px 18px; background: var(--cloud); border-top: 1px solid var(--rule); }
.assistant-composer label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.assistant-composer textarea { width: 100%; padding: 10px; resize: none; border: 1px solid #c9c9c9; font: 13px/1.4 Aptos, Arial, sans-serif; }
.assistant-composer textarea:focus { border-color: var(--blue); outline: 2px solid rgba(8,95,165,.12); }
.assistant-composer.is-thinking textarea { color: #777; background: #f1f1f1; cursor: wait; }
.assistant-composer.is-thinking .button { cursor: wait; opacity: .72; }
.assistant-composer > div { margin-top: 8px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.composer-note { color: #888; font-size: 9px; }
.assistant-composer .button { min-height: 36px; font-size: 11px; }
.investigation-checks { border-left: 1px solid var(--rule); }
.investigation-checks ul { margin: 0; padding: 0; list-style: none; }
.investigation-checks li { padding: 8px 0; display: flex; align-items: center; gap: 9px; color: var(--slate); font-size: 11px; border-bottom: 1px solid #e5e5e5; }
.investigation-checks li span { width: 9px; height: 9px; border: 1px solid #aaa; border-radius: 50%; }
.investigation-checks li.complete { color: var(--black); font-weight: 700; }
.investigation-checks li.complete span { border-color: var(--teal); background: var(--teal); box-shadow: inset 0 0 0 2px var(--cloud); }
.investigator-rule { margin-top: 20px; padding: 13px; background: var(--white); border-left: 2px solid var(--blue); }
.investigator-rule strong { font-size: 10px; text-transform: uppercase; letter-spacing: .6px; }
.investigator-rule p { margin: 6px 0 0; color: var(--slate); font-size: 10px; line-height: 1.45; }
.provider-note { margin-top: 12px; color: #888; font: 9px Consolas, monospace; }
.diagnosis-readiness { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--rule); }
.diagnosis-readiness ul { margin: 0; padding: 0; list-style: none; }
.diagnosis-readiness li { border-bottom: 1px solid #dedede; }
.diagnosis-readiness details { padding: 8px 0; }
.diagnosis-readiness summary { display: grid; grid-template-columns: 12px 1fr auto; align-items: center; gap: 7px; cursor: pointer; list-style: none; }
.diagnosis-readiness summary::-webkit-details-marker { display: none; }
.diagnosis-readiness summary strong { font-size: 10px; line-height: 1.25; }
.diagnosis-readiness summary small { color: #888; font-size: 7px; letter-spacing: .5px; text-transform: uppercase; }
.readiness-dot { width: 9px; height: 9px; border: 1px solid #999; border-radius: 50%; background: #b8b8b8; box-shadow: inset 0 0 0 2px var(--cloud); }
.readiness-amber .readiness-dot { border-color: #b88418; background: #d7a330; }
.readiness-green .readiness-dot { border-color: var(--teal); background: var(--teal); }
.readiness-red .readiness-dot { border-color: #913232; background: #b64545; }
.diagnosis-readiness details p { margin: 7px 0 1px 19px; color: var(--slate); font-size: 9px; line-height: 1.4; }
.diagnosis-readiness form { margin-top: 13px; }
.diagnosis-readiness .button { width: 100%; justify-content: space-between; min-height: 36px; font-size: 10px; }
.empty-tree { color: var(--slate); font-size: 11px; line-height: 1.5; }
.causal-node-list { margin: 0; padding: 0; list-style: none; }
.causal-node-list li { display: grid; grid-template-columns: 10px 1fr; align-items: start; }
.causal-node-list li div { display: grid; gap: 4px; }
.causal-node-list li strong { font-size: 10px; line-height: 1.35; }
.causal-node-list li small { color: #888; font-size: 8px; text-transform: uppercase; }
.node-state { margin-top: 3px; }
.node-supported, .node-terminal_candidate { background: var(--teal) !important; border-color: var(--teal) !important; }
.node-rejected { background: #999 !important; border-color: #999 !important; }
.approved-notice { padding: 18px; color: var(--teal); background: var(--cloud); border-top: 1px solid var(--rule); font-size: 12px; font-weight: 700; }

.investigation-report { min-height: calc(100vh - 110px); padding-block: 30px; }
.report-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 24px; }
.report-heading h1 { margin: 8px 0 0; font-size: clamp(32px, 4vw, 52px); line-height: 1; letter-spacing: -2px; }
.report-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.report-card { padding: 24px; border: 1px solid var(--rule); }
.report-card > p:not(.section-label) { color: var(--slate); font-size: 13px; line-height: 1.55; }
.report-wide { grid-column: 1 / -1; }
.report-facts { margin-top: 20px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--rule); }
.report-facts div { padding-top: 12px; }
.tree-heading p:last-child { margin: -6px 0 14px; color: var(--slate); font-size: 10px; }
.report-tree { margin: 0; padding: 0; list-style: none; }
.report-tree li { position: relative; margin-left: calc(var(--tree-depth) * 34px); padding: 11px 10px 11px 22px; border-bottom: 1px solid var(--rule); }
.report-tree li::before { content: ""; position: absolute; left: 5px; top: 0; bottom: 50%; width: 10px; border-left: 1px solid #a9a9a9; border-bottom: 1px solid #a9a9a9; }
.report-tree li:first-child::before { top: 50%; }
.tree-claim strong { display: block; font-size: 12px; line-height: 1.4; }
.tree-claim > p { margin: 5px 0; color: var(--slate); font-size: 10px; line-height: 1.4; }
.tree-claim div { display: flex; align-items: center; gap: 12px; }
.tree-claim span, .tree-claim small, .tree-claim a { color: var(--slate); font-size: 9px; text-transform: uppercase; }
.tree-claim a { margin-left: auto; color: var(--blue); font-weight: 700; text-decoration: none; }
.inactive-claims { margin-top: 14px; padding: 10px 12px; background: var(--cloud); }
.inactive-claims summary { cursor: pointer; font-size: 10px; font-weight: 700; }
.inactive-claims ul { margin: 9px 0 0; padding-left: 18px; }
.inactive-claims li { margin: 5px 0; color: var(--slate); font-size: 9px; }
.inactive-claims li span { margin-right: 6px; font-weight: 700; text-transform: uppercase; }
.node-review { min-height: calc(100vh - 110px); padding-block: 30px; }
.node-review-form { max-width: 820px; margin-top: 22px; padding: 26px; background: var(--cloud); border: 1px solid var(--rule); }
.node-review-form small { display: block; margin-top: 5px; color: #888; font-size: 9px; }
.scope-statement { border-left: 3px solid var(--blue); }

.evidence-shell, .evidence-edit-shell { min-height: calc(100vh - 110px); padding-block: 30px; }
.evidence-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 22px; }
.evidence-heading h1 { margin: 7px 0 8px; font-size: clamp(34px,4vw,52px); line-height: 1; letter-spacing: -2px; }
.evidence-heading p:last-child { max-width: 680px; margin: 0; color: var(--slate); font-size: 13px; line-height: 1.5; }
.evidence-layout { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); gap: 22px; align-items: start; }
.evidence-form-card, .evidence-register { padding: 24px; background: var(--cloud); border: 1px solid var(--rule); }
.evidence-form-card { border-top: 3px solid var(--blue); }
.evidence-form-card h2, .evidence-register h2 { margin: 5px 0 18px; font-size: 22px; }
.evidence-form-card .button { width: 100%; justify-content: space-between; margin-top: 8px; border: 0; }
.evidence-file-note { margin: -3px 0 12px; color: #777; font-size: 9px; line-height: 1.4; }
.evidence-message { margin: 0 0 14px; padding: 10px 13px; color: #117272; background: #edf7f7; border-left: 3px solid var(--teal); font-size: 11px; font-weight: 700; }
.evidence-register { background: var(--white); }
.evidence-register-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 13px; border-bottom: 1px solid var(--rule); }
.evidence-register-heading h2 { margin-bottom: 0; }
.evidence-register-heading > span { color: #777; font-size: 9px; text-transform: uppercase; letter-spacing: .5px; }
.evidence-list { display: grid; }
.evidence-card { padding: 17px 0; border-bottom: 1px solid var(--rule); }
.evidence-card:last-child { border-bottom: 0; }
.evidence-card-top { display: flex; justify-content: space-between; gap: 15px; color: var(--blue); font-size: 8px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
.evidence-card-top small { color: #888; font-size: 8px; }
.evidence-card h3 { margin: 7px 0 5px; font-size: 15px; }
.evidence-card > p { margin: 0 0 10px; color: var(--slate); font-size: 10px; line-height: 1.5; }
.evidence-card dl { display: flex; gap: 26px; margin: 0; }
.evidence-card dl div { display: grid; gap: 2px; }
.evidence-card dt { color: #888; font-size: 7px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; }
.evidence-card dd { margin: 0; font-size: 9px; }
.evidence-card-actions { margin-top: 12px; display: flex; align-items: center; gap: 16px; }
.evidence-card-actions a, .evidence-card-actions button, .evidence-card-actions > span { padding: 0; color: var(--blue); background: none; border: 0; font-size: 9px; font-weight: 700; text-decoration: none; cursor: pointer; }
.evidence-card-actions > span { color: #999; font-weight: 400; }
.evidence-card-actions form { margin-left: auto; }
.evidence-card-actions button { color: #8a2f2f; }
.evidence-empty { padding: 48px 20px; text-align: center; }
.evidence-empty h3 { max-width: 430px; margin: 8px auto 0; color: var(--slate); font-size: 15px; font-weight: 400; line-height: 1.5; }
.evidence-edit-card { max-width: 760px; }
.evidence-entry-link { margin-bottom: 16px; }

.event-entry-shell, .containment-edit-shell { min-height: calc(100vh - 110px); padding-block: 30px; }
.event-entry-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 22px; }
.event-entry-heading h1 { margin: 7px 0 8px; font-size: clamp(34px,4vw,52px); line-height: 1; letter-spacing: -2px; }
.event-entry-heading > div > p:last-child { max-width: 720px; margin: 0; color: var(--slate); font-size: 13px; line-height: 1.5; }
.event-entry-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 24px; align-items: start; }
.event-entry-sidebar { position: sticky; top: 88px; display: grid; gap: 14px; }
.entry-readiness, .entry-identifiers { padding: 20px; background: var(--cloud); border: 1px solid var(--rule); }
.entry-readiness { border-top: 3px solid var(--blue); }
.entry-readiness h2 { margin: 5px 0 13px; font-size: 18px; }
.entry-readiness ul { margin: 0; padding: 0; list-style: none; }
.entry-readiness li { padding: 10px 0; display: grid; grid-template-columns: 12px 1fr; gap: 9px; border-top: 1px solid #d7d7d7; }
.entry-readiness li > span { width: 10px; height: 10px; margin-top: 2px; background: #b8b8b8; border: 1px solid #999; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--cloud); }
.entry-readiness .requirement-complete > span { background: var(--teal); border-color: var(--teal); }
.entry-readiness li div { display: grid; gap: 3px; }
.entry-readiness li strong { font-size: 10px; }
.entry-readiness li small { color: #777; font-size: 8px; line-height: 1.4; }
.entry-identifiers dl { margin: 10px 0 0; display: grid; gap: 10px; }
.entry-identifiers dl div { display: grid; gap: 2px; }
.entry-identifiers dt { color: #888; font-size: 7px; font-weight: 700; text-transform: uppercase; }
.entry-identifiers dd { margin: 0; font: 10px Consolas,monospace; }
.event-entry-sidebar .evidence-entry-link { margin: 0; display: flex; justify-content: space-between; }
.event-entry-sidebar .evidence-entry-link strong { color: var(--blue); }
.event-entry-content { display: grid; gap: 22px; }
.event-entry-form, .containment-section, .containment-form-card { padding: 26px; background: var(--cloud); border: 1px solid var(--rule); }
.event-entry-form { display: grid; gap: 24px; }
.entry-section { padding-bottom: 23px; border-bottom: 1px solid var(--rule); }
.entry-section-heading { margin-bottom: 17px; display: flex; align-items: start; gap: 12px; }
.entry-section-heading > span { padding-top: 3px; color: #888; font: 9px Consolas,monospace; }
.entry-section-heading h2 { margin: 3px 0 0; font-size: 21px; }
.entry-section-heading p:last-child { max-width: 680px; margin: 5px 0 0; color: var(--slate); font-size: 10px; line-height: 1.45; }
.containment-section { background: var(--white); border-top: 3px solid var(--blue); }
.containment-guidance { margin-bottom: 17px; padding: 11px 13px; display: flex; gap: 8px; background: #f2f6f9; border-left: 3px solid var(--teal); font-size: 10px; line-height: 1.45; }
.containment-guidance span { color: var(--teal); font-weight: 700; text-transform: uppercase; }
.containment-guidance p { margin: 0; color: var(--slate); }
.containment-list { display: grid; gap: 10px; }
.containment-card { padding: 16px; background: var(--cloud); border-left: 3px solid #b8b8b8; }
.containment-card.status-complete, .containment-card.status-not_required { border-left-color: var(--teal); }
.containment-card-top { display: flex; justify-content: space-between; color: var(--blue); font-size: 8px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; }
.containment-card-top small { color: #888; font-size: 8px; }
.containment-card h3 { margin: 7px 0 11px; font-size: 13px; }
.containment-card dl { margin: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.containment-card dt { color: #888; font-size: 7px; font-weight: 700; text-transform: uppercase; }
.containment-card dd { margin: 2px 0 0; font-size: 9px; }
.containment-card > p { margin: 10px 0 0; color: var(--slate); font-size: 9px; line-height: 1.45; }
.containment-actions { margin-top: 12px; display: flex; align-items: center; gap: 15px; }
.containment-actions form { margin: 0; display: flex; align-items: center; }
.containment-actions a, .containment-actions button { padding: 0; color: var(--blue); background: none; border: 0; font-size: 9px; font-weight: 700; text-decoration: none; cursor: pointer; }
.containment-actions button { color: #8a2f2f; }
.containment-empty { padding: 24px; text-align: center; background: var(--cloud); }
.containment-empty strong { font-size: 12px; }.containment-empty p { margin: 5px 0 0; color: var(--slate); font-size: 10px; }
.containment-add { margin-top: 14px; border: 1px solid var(--rule); }
.containment-add > summary { padding: 13px 15px; display: flex; justify-content: space-between; color: var(--blue); background: var(--cloud); font-size: 11px; font-weight: 700; cursor: pointer; list-style: none; }
.containment-add > form { padding: 18px; }
.containment-add .button { border: 0; }
.containment-form-card { max-width: 820px; border-top: 3px solid var(--blue); }

.problem-shell { min-height: calc(100vh - 110px); padding-block: 30px; }
.problem-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 22px; }
.problem-heading h1 { margin: 7px 0 8px; font-size: clamp(34px,4vw,52px); line-height: 1; letter-spacing: -2px; }
.problem-heading > div > p:last-child { max-width: 720px; margin: 0; color: var(--slate); font-size: 13px; line-height: 1.5; }
.problem-message { margin: 0 0 14px; padding: 10px 13px; color: #117272; background: #edf7f7; border-left: 3px solid var(--teal); font-size: 11px; font-weight: 700; }
.problem-message.error { color: #842f28; background: #f9e4e0; border-color: #a43d34; }
.problem-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 24px; align-items: start; }
.problem-sidebar { position: sticky; top: 88px; display: grid; gap: 14px; }
.problem-event-context, .problem-readiness { padding: 20px; background: var(--cloud); border: 1px solid var(--rule); }
.problem-event-context { border-top: 3px solid var(--blue); }
.problem-event-context h2 { margin: 6px 0 7px; font-size: 16px; line-height: 1.3; }
.problem-event-context > p:not(.section-label) { margin: 0; color: var(--slate); font-size: 9px; line-height: 1.45; }
.problem-event-context dl { margin: 15px 0 0; display: grid; gap: 10px; }
.problem-event-context dl div { padding-top: 8px; border-top: 1px solid #d8d8d8; }
.problem-event-context dt { color: #888; font-size: 7px; font-weight: 700; text-transform: uppercase; }
.problem-event-context dd { margin: 3px 0 0; font-size: 9px; line-height: 1.4; }
.problem-readiness ul { margin: 8px 0 0; padding: 0; list-style: none; }
.problem-readiness li { padding: 9px 0; display: grid; grid-template-columns: 12px 1fr; align-items: center; gap: 8px; border-top: 1px solid #d8d8d8; }
.problem-readiness li span { width: 10px; height: 10px; background: #b8b8b8; border: 1px solid #999; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--cloud); }
.problem-readiness .requirement-complete span { background: var(--teal); border-color: var(--teal); }
.problem-readiness li strong { font-size: 9px; line-height: 1.3; }
.problem-content { display: grid; gap: 22px; }
.isisnot-section, .problem-statement-section, .problem-ai-review { padding: 26px; background: var(--white); border: 1px solid var(--rule); }
.isisnot-section { border-top: 3px solid var(--blue); }
.problem-section-heading { margin-bottom: 18px; display: flex; align-items: start; gap: 12px; }
.problem-section-heading > span { padding-top: 3px; color: #888; font: 9px Consolas,monospace; }
.problem-section-heading h2 { margin: 3px 0 0; font-size: 22px; }
.problem-section-heading p:last-child { margin: 5px 0 0; color: var(--slate); font-size: 10px; line-height: 1.45; }
.dimension-list { display: grid; gap: 13px; }
.dimension-card { padding: 0 18px 18px; background: var(--cloud); border-left: 3px solid #aaa; }
.dimension-card.dimension-complete { border-left-color: var(--teal); }
.dimension-card > summary { min-height: 54px; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 8px; cursor: pointer; list-style: none; }
.dimension-card > summary::-webkit-details-marker { display: none; }
.dimension-card > summary span { color: #888; font: 8px Consolas,monospace; }.dimension-card > summary h3 { margin: 0; font-size: 16px; }.dimension-card > summary small { max-width: 620px; margin-top: 3px; display: block; color: #777; font-size: 8px; font-weight: 400; line-height: 1.35; }.dimension-card > summary strong { padding: 4px 7px; color: #666; background: var(--white); border: 1px solid #c8c8c8; font-size: 10px; line-height: 1; letter-spacing: .35px; text-transform: uppercase; }.dimension-card.dimension-complete > summary strong { color: #117272; border-color: rgba(17,114,114,.35); }
.dimension-card > summary i { width: 8px; height: 8px; border-right: 1px solid #777; border-bottom: 1px solid #777; transform: rotate(45deg); transition: transform .15s ease; }.dimension-card[open] > summary i { transform: rotate(225deg); }
.dimension-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dimension-compare > div { padding: 12px; background: var(--white); border: 1px solid var(--rule); }
.dimension-compare > div > p { min-height: 26px; margin: 0 0 7px; color: var(--slate); font-size: 8px; line-height: 1.35; }
.dimension-support { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; margin-top: 12px; }
.dimension-support .field { margin-bottom: 0; }
.dimension-support ul { margin: 6px 0 0; padding: 0; list-style: none; max-height: 92px; overflow-y: auto; }
.dimension-support li label { display: flex; align-items: center; gap: 6px; font-size: 8px; font-weight: 400; text-transform: none; letter-spacing: 0; }
.problem-analysis-actions { margin-top: 16px; display: flex; justify-content: flex-end; gap: 10px; }
.problem-analysis-actions .button, .problem-approval .button { border: 0; }
.problem-ai-review { border-top: 4px solid var(--blue); }.ai-review-summary { margin: 0 0 16px; color: var(--slate); font-size: 11px; line-height: 1.55; }.ai-review-findings { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.ai-review-findings > div { padding: 14px; background: var(--cloud); }.ai-review-findings h3 { margin: 0 0 7px; font-size: 11px; }.ai-review-findings ul { margin: 0; padding-left: 17px; }.ai-review-findings li, .ai-review-findings p { margin: 4px 0; color: var(--slate); font-size: 9px; line-height: 1.45; }.ai-review-draft { margin-top: 14px; padding: 16px; color: var(--white); background: var(--black); border-left: 4px solid var(--blue); }.ai-review-draft span { color: #79b7e3; font-size: 8px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; }.ai-review-draft p { margin: 7px 0 0; font-size: 12px; line-height: 1.55; }.ai-review-actions { margin-top: 14px; display: flex; justify-content: flex-end; gap: 8px; }
.event-ai-review { margin-bottom: 18px; }
.button:disabled { opacity: .45; cursor: not-allowed; }
.problem-statement-section { background: var(--cloud); }
.problem-approval { margin-top: 18px; padding-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--rule); }
.problem-approval > div { display: grid; gap: 3px; }.problem-approval strong { font-size: 11px; }.problem-approval small { color: var(--slate); font-size: 8px; }

.diagnose-shell { min-height: calc(100vh - 110px); padding-block: 30px; }
.diagnose-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 22px; }
.diagnose-heading h1 { margin: 7px 0 8px; font-size: clamp(34px,4vw,52px); line-height: 1; letter-spacing: -2px; }
.diagnose-heading > div > p:last-child { max-width: 760px; margin: 0; color: var(--slate); font-size: 13px; line-height: 1.5; }
.diagnose-problem { padding: 20px 22px; color: var(--white); background: var(--black); border-top: 3px solid var(--blue); }
.diagnose-problem h2 { max-width: 1050px; margin: 7px 0 0; font-size: 17px; line-height: 1.45; }.diagnose-problem a { margin-top: 9px; display: inline-block; color: #7ab3dd; font-size: 10px; font-weight: 700; }
.diagnose-layout { margin-top: 20px; display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 22px; align-items: start; }
.diagnose-flow { display: grid; grid-template-columns: 1fr 46px 1fr; align-items: stretch; }.diagnose-flow > article { padding: 26px; background: var(--cloud); border: 1px solid var(--rule); border-top: 3px solid var(--blue); }.diagnose-flow > article > span { color: #888; font: 9px Consolas,monospace; }.diagnose-flow h2 { margin: 5px 0 8px; font-size: 24px; }.diagnose-flow article > p:not(.section-label) { min-height: 52px; color: var(--slate); font-size: 10px; line-height: 1.5; }
.diagnose-flow > i { position: relative; align-self: center; height: 2px; background: var(--blue); }.diagnose-flow > i::after { content: ""; position: absolute; right: -1px; top: -5px; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 9px solid var(--blue); }
.diagnose-flow dl { margin: 18px 0; display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--rule); }.diagnose-flow dl div { padding: 10px 0; }.diagnose-flow dt { color: #888; font-size: 7px; font-weight: 700; text-transform: uppercase; }.diagnose-flow dd { margin: 3px 0 0; font-size: 12px; font-weight: 700; }.diagnose-flow .button { width: 100%; justify-content: space-between; border: 0; }
.diagnose-readiness { padding: 20px; background: var(--cloud); border: 1px solid var(--rule); border-top: 3px solid var(--teal); }.diagnose-readiness ul { margin: 8px 0 0; padding: 0; list-style: none; }.diagnose-readiness li { padding: 10px 0; display: grid; grid-template-columns: 12px 1fr; gap: 8px; border-top: 1px solid #d8d8d8; }.diagnose-readiness li > span { width: 10px; height: 10px; margin-top: 2px; background: #b8b8b8; border: 1px solid #999; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--cloud); }.diagnose-readiness .requirement-complete > span { background: var(--teal); border-color: var(--teal); }.diagnose-readiness li div { display: grid; gap: 3px; }.diagnose-readiness li strong { font-size: 9px; }.diagnose-readiness li small { color: #777; font-size: 8px; line-height: 1.35; }
.selected-branches { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--rule); }.selected-branches ul { margin: 7px 0 0; padding: 0; list-style: none; }.selected-branches li { padding: 8px 0; display: grid; gap: 2px; border-top: 1px solid #dedede; }.selected-branches li span { color: var(--blue); font-size: 7px; font-weight: 700; text-transform: uppercase; }.selected-branches li strong { font-size: 9px; line-height: 1.35; }.selected-branches li small { color: #888; font-size: 7px; }
.conversation-branches { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--rule); }.conversation-branches nav { display: grid; gap: 6px; }.conversation-branch { padding: 9px 10px; display: grid; gap: 3px; color: var(--slate); background: var(--white); border: 1px solid var(--rule); border-left: 3px solid #aaa; text-decoration: none; }.conversation-branch > span { color: var(--blue); font-size: 8px; font-weight: 700; text-transform: uppercase; }.conversation-branch > strong { font-size: 9px; line-height: 1.35; }.conversation-branch > small { color: #888; font-size: 7px; }.conversation-branch.active { border-left-color: var(--blue); box-shadow: inset 0 0 0 1px rgba(8,95,165,.12); }.conversation-branch:hover { border-color: var(--blue); }
.conversation-context { padding: 11px 18px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; background: var(--cloud); border-bottom: 1px solid var(--rule); }.conversation-context > div { display: grid; gap: 3px; }.conversation-context span { color: var(--blue); font-size: 8px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; }.conversation-context strong { font-size: 10px; line-height: 1.35; }.conversation-context button { padding: 7px 9px; color: var(--blue); background: var(--white); border: 1px solid var(--rule); font-size: 8px; font-weight: 700; cursor: pointer; }.conversation-context button:disabled { color: #999; cursor: not-allowed; }
.branch-ai-review { margin: 12px 16px 0; padding: 14px; background: #f2f6f9; border: 1px solid var(--rule); border-top: 3px solid var(--blue); }.branch-ai-review h3 { margin: 3px 0 5px; font-size: 15px; }.branch-ai-review p, .branch-ai-review li { color: var(--slate); font-size: 9px; line-height: 1.4; }.branch-review-grid { margin-top: 10px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }.branch-review-grid section { padding: 9px; background: var(--white); }.branch-review-grid strong { font-size: 8px; text-transform: uppercase; }.branch-review-grid ul { margin: 5px 0 0; padding-left: 15px; }.branch-ai-review blockquote { margin: 10px 0; padding: 9px 11px; color: var(--dark-grey); background: var(--white); border-left: 3px solid var(--blue); font-size: 10px; }.branch-ai-review > form { text-align: right; }.branch-ai-review > form button { color: var(--blue); background: transparent; border: 0; font-size: 8px; font-weight: 700; cursor: pointer; }
.report-handoff-grid { margin-top: 12px; display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }.report-handoff-grid > div { padding: 12px; display: grid; gap: 4px; background: var(--cloud); border-left: 3px solid var(--blue); }.report-handoff-grid span { color: var(--blue); font-size: 7px; font-weight: 700; text-transform: uppercase; }.report-handoff-grid strong { font-size: 10px; }.report-handoff-grid small { color: #777; font-size: 7px; }

.diagnose-actions { display: grid; gap: 12px; }
.fishbone-shell, .fishbone-form-shell, .fishbone-report { min-height: calc(100vh - 110px); padding-block: 30px; }
.fishbone-heading, .fishbone-form-heading, .fishbone-report > header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 22px; }
.fishbone-heading h1, .fishbone-form-heading h1, .fishbone-report h1 { margin: 7px 0 8px; font-size: clamp(34px,4vw,52px); line-height: 1; letter-spacing: -2px; }
.fishbone-heading > div:first-child > p:last-child, .fishbone-form-heading > div > p:last-child { max-width: 760px; margin: 0; color: var(--slate); font-size: 13px; line-height: 1.5; }
.fishbone-heading-actions, .report-actions { display: flex; gap: 10px; }
.hypothesis-notice { margin-bottom: 16px; padding: 11px 14px; display: flex; gap: 14px; color: var(--slate); background: #f2f6f9; border-left: 3px solid var(--blue); font-size: 11px; line-height: 1.45; }
.hypothesis-notice strong { flex: 0 0 auto; color: var(--blue); text-transform: uppercase; letter-spacing: .5px; }
.fishbone-filter { margin: -6px 0 14px; display: flex; align-items: center; justify-content: flex-end; gap: 12px; color: #777; font-size: 9px; }
.fishbone-filter a { color: var(--blue); font-weight: 700; }
.diagnose-ai-review { margin-bottom: 16px; padding: 20px; background: var(--white); border: 1px solid var(--rule); border-top: 4px solid var(--blue); }.diagnose-ai-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }.diagnose-ai-heading h2 { margin: 3px 0 0; font-size: 21px; }.diagnose-ai-review > p { color: var(--slate); font-size: 11px; }.diagnose-ai-findings { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }.diagnose-ai-findings > div { padding: 12px; background: var(--cloud); }.diagnose-ai-findings h3 { margin: 0 0 6px; font-size: 11px; }.diagnose-ai-findings ul { margin: 0; padding-left: 16px; }.diagnose-ai-findings li, .diagnose-ai-findings p { margin: 3px 0; color: var(--slate); font-size: 9px; line-height: 1.4; }.ai-cause-suggestions { margin-top: 12px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.ai-cause-suggestions article { padding: 13px; background: var(--cloud); border-left: 3px solid var(--blue); }.ai-cause-suggestions article > span { color: var(--blue); font-size: 8px; font-weight: 700; text-transform: uppercase; }.ai-cause-suggestions h3 { margin: 5px 0; font-size: 12px; line-height: 1.3; }.ai-cause-suggestions p, .ai-cause-suggestions small { color: var(--slate); font-size: 9px; line-height: 1.4; }.ai-cause-suggestions small, .ai-cause-suggestions small strong { display: block; }.ai-cause-suggestions small strong { margin-bottom: 2px; color: var(--dark-grey); text-transform: uppercase; }.ai-cause-suggestions form { margin-top: 10px; }.ai-cause-suggestions button { color: var(--blue); background: transparent; border: 0; font-size: 9px; font-weight: 700; cursor: pointer; }.ai-cause-added { margin-top: 10px; display: block; color: #117b72; font-size: 8px; text-transform: uppercase; }
.fishbone-message { margin: 0 0 14px; padding: 10px 13px; color: #117272; background: #edf7f7; border-left: 3px solid var(--teal); font-size: 11px; font-weight: 700; }
.fishbone-message.error { color: #842f28; background: #f9e4e0; border-color: #a43d34; }
.fishbone-effect-card { padding: 18px 20px; display: grid; grid-template-columns: 1fr minmax(260px,.5fr); align-items: center; gap: 25px; color: var(--white); background: var(--black); border-top: 3px solid var(--blue); }
.fishbone-effect-card .section-label { margin-bottom: 6px; color: #76add5; }.fishbone-effect-card h2 { margin: 0 0 5px; font-size: 21px; }.fishbone-effect-card small { color: #aaa; font-size: 9px; }
.fishbone-effect-card details { justify-self: end; width: min(100%,340px); }.fishbone-effect-card summary { color: #ccc; font-size: 10px; font-weight: 700; cursor: pointer; text-align: right; }.fishbone-effect-card form { margin-top: 8px; display: grid; grid-template-columns: 1fr auto; gap: 8px; }.fishbone-effect-card textarea { width: 100%; min-height: 54px; padding: 8px; resize: vertical; font: 11px Aptos,Arial,sans-serif; }.fishbone-effect-card .button { min-height: 38px; align-self: end; border: 0; }
.fishbone-diagram { position: relative; margin-top: 18px; padding: 0 24px; background: linear-gradient(to bottom,transparent calc(50% - 1px),#999 calc(50% - 1px),#999 calc(50% + 1px),transparent calc(50% + 1px)); }
.fishbone-category-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,1fr); gap: 74px 22px; }
.fishbone-category { position: relative; height: 320px; padding: 16px; display: flex; flex-direction: column; background: var(--cloud); border: 1px solid var(--rule); }
.fishbone-category:nth-child(-n+3) { align-self: end; border-bottom: 3px solid var(--blue); }.fishbone-category:nth-child(n+4) { align-self: start; border-top: 3px solid var(--blue); }
.fishbone-category:nth-child(-n+3)::after, .fishbone-category:nth-child(n+4)::before { content: ""; position: absolute; left: 50%; width: 1px; height: 38px; background: #999; transform: rotate(-25deg); transform-origin: center; }
.fishbone-category:nth-child(-n+3)::after { bottom: -40px; }.fishbone-category:nth-child(n+4)::before { top: -40px; transform: rotate(25deg); }
.fishbone-category-heading { display: flex; align-items: start; justify-content: space-between; gap: 10px; padding-bottom: 9px; border-bottom: 1px solid var(--rule); }.fishbone-category-heading > div { display: flex; align-items: baseline; gap: 8px; }.fishbone-category-heading span { color: #999; font: 8px Consolas,monospace; }.fishbone-category-heading h2 { margin: 0; font-size: 15px; }.fishbone-category-heading details { position: relative; }.fishbone-category-heading summary { color: #888; cursor: pointer; list-style: none; }.fishbone-category-heading details form { position: absolute; right: 0; z-index: 4; width: 220px; padding: 10px; background: var(--white); border: 1px solid var(--rule); box-shadow: 0 10px 25px rgba(0,0,0,.15); }.fishbone-category-heading input { width: 100%; padding: 7px; border: 1px solid #bbb; }.fishbone-category-heading form div { margin-top: 7px; display: flex; justify-content: space-between; }.fishbone-category-heading form button { padding: 0; color: var(--blue); background: none; border: 0; cursor: pointer; font-size: 10px; font-weight: 700; }.fishbone-category-heading form .danger-link { color: #8a2f2f; }
.fishbone-branch { min-height: 0; flex: 1; display: grid; align-content: start; gap: 7px; padding-top: 9px; overflow-y: auto; overscroll-behavior: contain; }.empty-branch { margin: 12px 0; color: #999; font-size: 10px; }
.fishbone-cause { padding: 9px 10px; background: var(--white); border-left: 3px solid #aaa; }.fishbone-cause.status-evidence_needed { border-color: #b88418; }.fishbone-cause.status-supported { border-color: var(--teal); }.fishbone-cause.status-unsupported { opacity: .62; border-color: #8a2f2f; }
.cause-status { display: flex; align-items: center; gap: 5px; color: #888; font-size: 7px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; }.cause-status i { width: 6px; height: 6px; background: #aaa; border-radius: 50%; }.status-evidence_needed .cause-status i { background: #d7a330; }.status-supported .cause-status i { background: var(--teal); }.status-unsupported .cause-status i { background: #a43d34; }.cause-status b { margin-left: auto; color: var(--blue); font-size: 7px; }
.fishbone-cause h3 { margin: 5px 0 0; font-size: 11px; line-height: 1.35; }.cause-parent { margin: 5px 0 0; color: #777; font-size: 8px; }.cause-evidence { margin: 7px 0 0; color: var(--slate); font-size: 8px; line-height: 1.4; }.cause-evidence strong { margin-right: 5px; color: var(--dark-grey); text-transform: uppercase; }.cause-actions { margin-top: 8px; display: flex; align-items: center; gap: 10px; }.cause-actions a, .cause-actions button { padding: 0; color: var(--blue); background: none; border: 0; font-size: 8px; font-weight: 700; text-decoration: none; cursor: pointer; text-transform: uppercase; }.cause-actions .danger-link { margin-left: auto; color: #8a2f2f; }
.add-branch { min-height: 36px; margin-top: 10px; padding: 9px 10px; display: flex; align-items: center; color: var(--blue); font-size: 13px; font-weight: 700; text-decoration: none; border: 1px solid transparent; }.add-branch:hover { background: var(--white); border-color: var(--rule); }.add-branch:focus-visible { background: var(--white); border-color: var(--blue); outline: 2px solid rgba(8,95,165,.22); outline-offset: 2px; }.fishbone-spine { position: absolute; left: 0; right: 0; top: 50%; z-index: 2; height: 44px; display: flex; align-items: center; pointer-events: none; transform: translateY(-50%); }.fishbone-spine span { padding: 4px 7px; color: #777; background: var(--white); font-size: 8px; text-transform: uppercase; }.fishbone-spine i { flex: 1; height: 2px; background: var(--black); }.fishbone-spine strong { max-width: 260px; padding: 10px 13px; color: var(--white); background: var(--blue); font-size: 10px; line-height: 1.3; }
.fishbone-category-add { margin-top: 20px; border-top: 1px solid var(--rule); padding-top: 12px; }.fishbone-category-add summary { color: var(--blue); font-size: 10px; font-weight: 700; cursor: pointer; }.fishbone-category-add form { margin-top: 10px; display: flex; gap: 8px; }.fishbone-category-add input { min-width: 260px; padding: 9px; border: 1px solid #bbb; }
.fishbone-form-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 22px; }.fishbone-cause-form, .fishbone-guidance { padding: 26px; background: var(--cloud); border: 1px solid var(--rule); }.fishbone-cause-form select { min-height: 42px; }.fishbone-guidance { background: var(--white); border-top: 3px solid var(--blue); }.fishbone-guidance h2 { font-size: 22px; }.fishbone-guidance dl div { margin-top: 15px; padding-top: 10px; border-top: 1px solid var(--rule); }.fishbone-guidance dd, .fishbone-guidance > p:last-child { color: var(--slate); font-size: 11px; line-height: 1.5; }.fishbone-guidance dl div:last-child dd { color: var(--black); font-weight: 700; }.fishbone-delete { margin-top: 14px; text-align: right; }.fishbone-delete button { padding: 0; color: #8a2f2f; background: none; border: 0; cursor: pointer; font-size: 10px; text-decoration: underline; }
.fishbone-report > header p:last-child { margin: 0; color: var(--slate); }.report-disclaimer { padding: 10px 13px; color: var(--slate); background: #f2f6f9; border-left: 3px solid var(--blue); font-size: 10px; line-height: 1.5; }
.fishbone-export-sheet { padding: 20px; background: var(--cloud); border: 1px solid var(--rule); }.export-meta { display: grid; grid-template-columns: repeat(4,1fr); background: var(--white); border: 1px solid var(--rule); }.export-meta div { padding: 9px 12px; display: grid; gap: 3px; border-right: 1px solid var(--rule); }.export-meta div:last-child { border-right: 0; }.export-meta span { color: #888; font-size: 7px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; }.export-meta strong { font-size: 10px; }
.export-fishbone { position: relative; min-height: 500px; margin-top: 16px; overflow: hidden; background: var(--white); border: 1px solid var(--rule); }.export-bones { position: absolute; inset: 16px 27% 16px 2%; display: grid; grid-template-columns: repeat(3,1fr); grid-template-rows: 1fr 1fr; gap: 90px 30px; }.export-bone { position: relative; z-index: 2; min-width: 0; padding: 11px 13px; background: var(--cloud); border: 1px solid var(--rule); }.export-bone:nth-child(-n+3) { align-self: end; }.export-bone:nth-child(n+4) { align-self: start; }.export-bone:nth-child(-n+3)::after, .export-bone:nth-child(n+4)::before { content: ""; position: absolute; right: -15px; width: 112px; height: 2px; background: var(--black); transform-origin: right center; }.export-bone:nth-child(-n+3)::after { bottom: -42px; transform: rotate(48deg); }.export-bone:nth-child(n+4)::before { top: -42px; transform: rotate(-48deg); }
.export-bone h2 { margin: 0 0 8px; padding-bottom: 6px; color: var(--blue); border-bottom: 1px solid #c9c9c9; font-size: 13px; text-transform: uppercase; }.export-bone h2 span { margin-right: 7px; color: #888; font: 7px Consolas,monospace; }.export-bone ul { margin: 0; padding: 0; display: grid; gap: 5px; list-style: none; }.export-cause { display: grid; grid-template-columns: 7px 1fr auto; align-items: start; gap: 5px; font-size: 8px; line-height: 1.25; }.export-cause i { width: 6px; height: 6px; margin-top: 2px; background: #aaa; border-radius: 50%; }.export-cause small { color: #888; font-size: 6px; font-weight: 700; text-transform: uppercase; }.export-cause.status-evidence_needed i { background: #d7a330; }.export-cause.status-supported i { background: var(--teal); }.export-cause.status-unsupported { opacity: .62; }.export-cause.status-unsupported i { background: #a43d34; }.export-empty { color: #999; font-size: 8px; font-style: italic; }
.export-spine { position: absolute; left: 3%; right: 21%; top: 50%; z-index: 1; height: 8px; transform: translateY(-50%); }.export-spine span { position: absolute; inset: 3px 0 auto; height: 2px; background: var(--black); }.export-spine i { position: absolute; right: -1px; top: -3px; width: 0; height: 0; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 12px solid var(--black); }.export-effect { position: absolute; right: 2%; top: 50%; z-index: 3; width: 22%; min-height: 110px; padding: 16px; display: flex; flex-direction: column; justify-content: center; color: var(--white); background: var(--blue); transform: translateY(-50%); box-shadow: 8px 8px 0 var(--black); }.export-effect::after { content: ""; position: absolute; right: -28px; top: 50%; width: 0; height: 0; border-top: 55px solid transparent; border-bottom: 55px solid transparent; border-left: 28px solid var(--blue); transform: translateY(-50%); }.export-effect small { margin-bottom: 7px; color: #c7e0f2; font-size: 7px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; }.export-effect strong { font-size: 13px; line-height: 1.35; }
.export-legend { margin-top: 12px; display: flex; align-items: center; justify-content: flex-end; gap: 16px; color: var(--slate); font-size: 8px; }.export-legend > strong { margin-right: auto; color: var(--dark-grey); text-transform: uppercase; }.export-legend span { display: flex; align-items: center; gap: 5px; }.export-legend i { width: 7px; height: 7px; background: #aaa; border-radius: 50%; }.export-legend .legend-evidence i { background: #d7a330; }.export-legend .legend-supported i { background: var(--teal); }.export-legend .legend-unsupported i { background: #a43d34; }
.fishbone-evidence-appendix { margin-top: 24px; }.fishbone-evidence-appendix > header { margin-bottom: 12px; }.fishbone-evidence-appendix h2 { margin: 4px 0 0; font-size: 23px; }.evidence-table-wrap { overflow-x: auto; border: 1px solid var(--rule); }.evidence-table-wrap table { width: 100%; border-collapse: collapse; }.evidence-table-wrap th { padding: 8px 10px; color: #777; background: var(--cloud); border-bottom: 1px solid var(--rule); font-size: 7px; letter-spacing: .5px; text-align: left; text-transform: uppercase; }.evidence-table-wrap td { padding: 9px 10px; border-bottom: 1px solid var(--rule); font-size: 8px; line-height: 1.4; vertical-align: top; }.evidence-table-wrap tr:last-child td { border-bottom: 0; }.evidence-table-wrap td:first-child { color: var(--blue); font-weight: 700; }.evidence-table-wrap td strong { display: block; font-size: 9px; }.evidence-table-wrap td small { margin-top: 3px; display: block; color: #888; }.appendix-status { font-size: 7px; font-weight: 700; text-transform: uppercase; }.appendix-status.status-supported { color: var(--teal); }.appendix-status.status-evidence_needed { color: #96700f; }.appendix-status.status-unsupported { color: #8a2f2f; }.empty-category-row { color: #999; }
.export-fishbone-skeleton { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; overflow: visible; }.export-fishbone-skeleton path { fill: none; stroke: var(--black); stroke-width: 3; vector-effect: non-scaling-stroke; }.export-fishbone-skeleton .skeleton-arrow { fill: var(--black); stroke: none; }.export-fishbone-skeleton circle { fill: var(--white); stroke: var(--blue); stroke-width: 3; vector-effect: non-scaling-stroke; }
.export-bone:nth-child(n)::before, .export-bone:nth-child(n)::after { display: none; }.export-spine { display: none; }.export-effect { right: 2.5%; width: 20%; box-shadow: none; border: 2px solid var(--black); }.export-effect::after { display: none; }.export-legend { padding: 8px 10px; background: var(--white); border: 1px solid var(--rule); }.fishbone-export-sheet > .report-disclaimer { margin: 8px 0 0; }
.fishbone-category .add-branch { margin-top: auto; }
.workflow-next { margin-top: 28px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--cloud); border: 1px solid var(--rule); border-left: 3px solid var(--blue); }
.workflow-next > div { display: grid; gap: 4px; }.workflow-next strong { font-size: 15px; }.workflow-next small { color: var(--slate); font-size: 10px; line-height: 1.4; }.workflow-next .button { flex: 0 0 auto; }

@media (max-width: 1000px) {
  .event-filters { grid-template-columns: 1fr 1fr; }
  .event-filters .search-field { grid-column: 1 / -1; }
  .event-table-wrap { overflow-x: auto; }
  .event-table { min-width: 820px; }
  .event-create { grid-template-columns: 1fr; gap: 35px; }
  .event-layout, .investigator-layout, .report-grid, .fishbone-form-layout, .evidence-layout, .event-entry-layout, .problem-layout, .diagnose-layout { grid-template-columns: 1fr; }
  .event-entry-sidebar { position: static; grid-template-columns: 1fr 1fr; }
  .problem-sidebar { position: static; grid-template-columns: 1fr 1fr; }
  .dimension-support { grid-template-columns: 1fr; }
  .fishbone-category-grid { grid-template-columns: 1fr 1fr; gap: 18px; }.fishbone-diagram { padding: 0; background: none; }.fishbone-spine { position: static; margin: 18px 0; transform: none; }.fishbone-category:nth-child(n) { border-top: 1px solid var(--rule); border-bottom: 3px solid var(--blue); }.fishbone-category:nth-child(n)::before, .fishbone-category:nth-child(n)::after { display: none; }
  .report-wide { grid-column: auto; }
  .event-4d { overflow-x: auto; }
  .event-4d > div { min-width: 150px; }
  .workflow-roadmap { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .roadmap-phase:nth-child(2) { border-right: 0; }
  .roadmap-phase:nth-child(-n+2) { border-bottom: 1px solid var(--rule); }
  .roadmap-phase > header::after { display: none !important; }
  .case-context, .investigation-checks { border: 0; }
  .assistant-thread { max-height: none; }
}

@media (max-width: 660px) {
  .register-heading { align-items: flex-start; flex-direction: column; }
  .register-metrics { grid-template-columns: repeat(3, 1fr); }
  .register-metrics div { padding-right: 10px; display: grid; }
  .event-filters { grid-template-columns: 1fr; }
  .event-filters .search-field { grid-column: auto; }
  .event-create { padding-block: 30px; }
  .event-form { padding: 22px 18px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .event-heading, .investigator-heading, .report-heading, .fishbone-heading, .fishbone-form-heading, .fishbone-report > header, .evidence-heading, .event-entry-heading, .problem-heading, .diagnose-heading { align-items: flex-start; flex-direction: column; }
  .event-entry-sidebar { grid-template-columns: 1fr; }
  .containment-card dl { grid-template-columns: 1fr; }
  .problem-sidebar, .dimension-compare { grid-template-columns: 1fr; }
  .problem-analysis-actions, .problem-approval, .ai-review-actions { align-items: stretch; flex-direction: column; }.ai-review-findings { grid-template-columns: 1fr; }
  .diagnose-flow { grid-template-columns: 1fr; gap: 12px; }.diagnose-flow > i { width: 2px; height: 28px; justify-self: center; }.diagnose-flow > i::after { right: -5px; top: auto; bottom: -1px; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 9px solid var(--blue); border-bottom: 0; }.report-handoff-grid { grid-template-columns: 1fr; }
  .fishbone-heading-actions, .report-actions { width: 100%; flex-direction: column; }.fishbone-category-grid, .report-category-grid, .ai-cause-suggestions, .diagnose-ai-findings, .branch-review-grid { grid-template-columns: 1fr; }.fishbone-effect-card { grid-template-columns: 1fr; }.fishbone-effect-card details { justify-self: stretch; }.fishbone-effect-card summary { text-align: left; }.hypothesis-notice { flex-direction: column; gap: 4px; }.diagnose-ai-heading, .conversation-context { align-items: stretch; grid-template-columns: 1fr; flex-direction: column; }
  .export-fishbone { min-height: 760px; }.export-bones { inset: 16px 16px 150px; grid-template-columns: 1fr; grid-template-rows: none; gap: 8px; overflow-y: auto; }.export-bone:nth-child(n) { align-self: stretch; }.export-bone:nth-child(n)::before, .export-bone:nth-child(n)::after, .export-spine { display: none; }.export-effect { left: 16px; right: 16px; top: auto; bottom: 24px; width: auto; transform: none; }.export-effect::after { display: none; }.export-meta { grid-template-columns: 1fr 1fr; }.export-meta div:nth-child(2) { border-right: 0; }.export-legend { align-items: flex-start; flex-wrap: wrap; justify-content: flex-start; }.export-legend > strong { flex-basis: 100%; }
  .event-heading-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .event-summary dl { grid-template-columns: 1fr 1fr; }
  .investigation-context { grid-template-columns: 1fr; }
  .investigation-context dl { grid-template-columns: 1fr 1fr; }
  .workflow-roadmap { grid-template-columns: 1fr; }
  .roadmap-phase:nth-child(n) { border-right: 0; border-bottom: 1px solid var(--rule); }
  .roadmap-phase:last-child { border-bottom: 0; }
  .roadmap-steps { min-height: 0; padding: 18px 16px 18px 24px; grid-template-columns: 1fr; gap: 0; }
  .roadmap-steps::before { left: 45px; right: auto; top: 39px; bottom: 39px; width: 3px; height: auto; }
  .roadmap-step > a { min-height: 112px; padding: 0; flex-direction: row; align-items: flex-start; gap: 18px; text-align: left; }
  .roadmap-node { flex: 0 0 44px; }.roadmap-copy { margin-top: 2px; align-items: flex-start; }.roadmap-copy > span { margin-top: 8px; padding-top: 0; }
  .roadmap-complete::after { left: 20px; top: 42px; width: 3px; height: calc(100% - 1px); }
  .roadmap-phase:last-child .roadmap-step:last-child::after { display: none; }
  .workflow-next { align-items: stretch; flex-direction: column; }.workflow-next .button { width: 100%; justify-content: space-between; }
}

@media print {
  @page { size: landscape; margin: 10mm; }
  body:has(.fishbone-report) { background: var(--white); }
  body:has(.fishbone-report) .site-header, body:has(.fishbone-report) .site-footer, body:has(.fishbone-report) .skip-link { display: none !important; }
  .fishbone-report { width: 100%; max-width: none; padding: 0; }
  .fishbone-report-header { margin-bottom: 3mm; }.fishbone-report-header h1 { margin-block: 2mm 1mm; font-size: 20pt; }.fishbone-report-header .report-actions { display: none; }
  .fishbone-export-sheet { padding: 3mm; break-inside: avoid-page; break-after: page; print-color-adjust: exact; -webkit-print-color-adjust: exact; }.export-fishbone { min-height: 103mm; overflow: visible; }.fishbone-export-sheet > .report-disclaimer { margin-top: 2mm; padding-block: 2mm; }
  .fishbone-evidence-appendix { margin-top: 0; break-before: page; }.evidence-table-wrap { overflow: visible; }.evidence-table-wrap thead { display: table-header-group; }.evidence-table-wrap tr { break-inside: avoid; }
  .report-disclaimer { margin-bottom: 0; }
}

/* Design phase */
.design-shell, .design-form-shell { padding-block: 34px 52px; }
.design-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding-bottom: 22px; border-bottom: 1px solid var(--rule); }
.design-heading h1 { margin: 7px 0 10px; font-size: clamp(38px,4vw,54px); line-height: 1; letter-spacing: -2px; }
.design-heading p:last-child { max-width: 720px; margin: 0; color: var(--slate); line-height: 1.5; }
.design-heading-actions { display: flex; align-items: center; gap: 12px; }
.design-context { display: grid; grid-template-columns: 2fr 1fr; border-bottom: 1px solid var(--rule); }
.design-context > div { padding: 20px; background: var(--cloud); border-right: 1px solid var(--rule); }
.design-context > div:last-child { border-right: 0; }
.design-context p:last-child { margin-bottom: 0; color: var(--slate); font-size: 12px; line-height: 1.5; }
.root-cause-band, .corrective-action-list { padding-block: 26px; border-bottom: 1px solid var(--rule); }
.design-readiness-band { margin: 24px 0 0; padding: 22px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); gap: 28px; background: var(--cloud); border: 1px solid var(--rule); border-top: 3px solid var(--blue); }
.design-readiness-band h2 { margin: 4px 0 8px; font-size: 22px; }
.design-readiness-band > div > p:last-child { margin: 0; color: var(--slate); line-height: 1.5; }
.design-readiness-band ul { margin: 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.design-readiness-band li { display: grid; grid-template-columns: 10px 1fr; gap: 4px 9px; align-items: start; }
.design-readiness-band li > span { width: 9px; height: 9px; margin-top: 3px; background: #aaa; border: 1px solid #888; border-radius: 50%; }
.design-readiness-band li.requirement-complete > span { background: var(--teal); border-color: var(--teal); }
.design-readiness-band li strong { font-size: 10px; }
.design-readiness-band li small { grid-column: 2; color: var(--slate); font-size: 9px; line-height: 1.4; }
.root-cause-band > div:first-child, .design-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.root-cause-band h2, .design-section-heading h2 { margin: 3px 0 0; font-size: 24px; }
.root-cause-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--rule); border: 1px solid var(--rule); }
.root-cause-grid article { padding: 16px; background: var(--white); }
.root-cause-grid span { color: var(--blue); font: 9px Consolas,monospace; }
.root-cause-grid p { margin: 8px 0; font-weight: 700; line-height: 1.4; }
.root-cause-grid small { color: var(--slate); font-size: 9px; text-transform: uppercase; }
.design-section-heading > span { color: var(--slate); font-size: 11px; }
.design-card-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.design-card { position: relative; padding: 20px; background: var(--cloud); border: 1px solid var(--rule); }
.design-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: #aaa; }
.design-card.status-ready_for_review::before, .design-card.status-approved::before { background: var(--blue); }
.design-card > header, .design-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.design-card > header div { display: flex; gap: 10px; color: var(--blue); font-size: 10px; text-transform: uppercase; }
.design-card > header small { color: var(--slate); font-size: 9px; text-transform: uppercase; }
.design-card h3 { margin: 18px 0 8px; font-size: 19px; }
.design-card > p { min-height: 42px; color: var(--slate); font-size: 12px; line-height: 1.5; }
.design-card dl { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--rule); }
.design-card dl div { padding: 10px 0; border-bottom: 1px solid var(--rule); }
.design-card dt { color: #777; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.design-card dd { margin: 3px 0 0; font-size: 11px; }
.root-link-list { padding: 12px 0; }
.root-link-list span { color: #777; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.root-link-list p { margin: 5px 0 0; font-size: 10px; line-height: 1.4; }
.design-card > footer { padding-top: 12px; border-top: 1px solid var(--rule); }
.design-card > footer a, .design-card > footer button { color: var(--blue); background: none; border: 0; font: 700 10px Aptos,Arial,sans-serif; text-decoration: none; cursor: pointer; }
.design-card > footer form:last-child button { color: #8d3028; }
.empty-design-state { margin-top: 16px; padding: 28px; background: var(--cloud); border-left: 3px solid var(--blue); }
.empty-design-state h3 { margin: 0 0 6px; }
.design-form { max-width: 980px; margin: 24px auto 0; }
.design-form > section { margin-bottom: 18px; padding: 24px; background: var(--cloud); border: 1px solid var(--rule); }
.form-section-title { margin-bottom: 20px; display: flex; gap: 14px; }
.form-section-title > span { color: var(--blue); font: 10px Consolas,monospace; }
.form-section-title h2 { margin: 2px 0 3px; font-size: 21px; }
.form-section-title p:last-child { margin: 0; color: var(--slate); font-size: 11px; }
.design-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.risk-assessment { min-width: 0; padding: 16px; background: var(--white); border: 1px solid var(--rule); }
.risk-mode { margin-bottom: 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.risk-mode-button { padding: 10px 12px; display: flex; justify-content: space-between; gap: 10px; color: var(--dark-grey); background: var(--cloud); border: 1px solid var(--rule); font-size: 10px; font-weight: 700; text-align: left; cursor: pointer; }
.risk-mode-button strong { color: var(--blue); font-size: 10px; }.risk-mode-button.is-active { color: var(--white); background: var(--black); border-color: var(--black); box-shadow: inset 0 -3px 0 var(--blue); }.risk-mode-button.is-active strong { color: #79b7e3; }
.risk-workspace { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,1fr); gap: 18px; align-items: start; }
.risk-matrix-layout { display: grid; grid-template-columns: 22px minmax(0,1fr); grid-template-rows: auto 22px; }
.risk-axis { color: #666; font-size: 8px; font-weight: 700; letter-spacing: .6px; text-align: center; text-transform: uppercase; }
.risk-axis-y { display: grid; place-items: center; writing-mode: vertical-rl; transform: rotate(180deg); }.risk-axis-x { grid-column: 2; padding-top: 7px; }
.risk-grid { min-width: 0; display: grid; grid-template-columns: minmax(64px,1.25fr) repeat(5,minmax(46px,1fr)); grid-template-rows: 48px repeat(5,58px); gap: 2px; }
.risk-corner { background: var(--cloud); }
.risk-column-label, .risk-row-label { padding: 5px 3px; display: flex; align-items: center; justify-content: center; flex-direction: column; color: var(--dark-grey); background: var(--cloud); font-size: 10px; font-weight: 700; text-align: center; }
.risk-column-label small, .risk-row-label small { margin-top: 2px; color: #777; font-size: 7px; font-weight: 600; line-height: 1.1; }
.risk-cell { min-width: 0; padding: 4px 2px; display: grid; place-content: center; color: var(--dark-grey); border: 1px solid rgba(0,0,0,.17); cursor: pointer; }
.risk-cell b { font-size: 13px; }.risk-cell small { margin-top: 2px; font-size: 6px; font-weight: 700; letter-spacing: .2px; text-transform: uppercase; }
.risk-level-low { background: #b9dfda; }.risk-level-moderate { background: #f3df79; }.risk-level-high { background: #efa75b; }.risk-level-critical { color: var(--white); background: #a63b32; }
.risk-cell:hover, .risk-cell:focus-visible { position: relative; z-index: 2; outline: 3px solid var(--blue); outline-offset: -3px; }.risk-cell[aria-pressed="true"] { position: relative; z-index: 3; box-shadow: inset 0 0 0 4px var(--black), inset 0 0 0 6px var(--white); }
.risk-guidance { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.risk-guidance section { padding: 12px; background: var(--cloud); border-top: 3px solid var(--blue); }.risk-guidance h3 { margin: 0 0 8px; font-size: 12px; }.risk-guidance ol { margin: 0; padding: 0; list-style: none; }.risk-guidance li { padding: 6px 0; border-top: 1px solid var(--rule); }.risk-guidance li:first-child { border-top: 0; }.risk-guidance b, .risk-guidance span { display: block; }.risk-guidance b { font-size: 9px; }.risk-guidance span { margin-top: 2px; color: var(--slate); font-size: 8px; line-height: 1.3; }
.risk-guidance-note { margin: 14px 0 0; padding: 10px 12px; color: var(--slate); background: var(--cloud); border-left: 3px solid var(--blue); font-size: 9px; line-height: 1.5; }
.design-form-actions { display: flex; justify-content: flex-end; gap: 10px; }
.verification-principle { margin-top: 20px; padding: 16px 18px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 18px; color: var(--white); background: var(--black); border-left: 4px solid var(--blue); }
.verification-principle strong { color: #79b7e3; font-size: 13px; text-transform: uppercase; }
.verification-principle p { margin: 0; color: #ddd; font-size: 11px; line-height: 1.5; }
.verification-card > p { color: var(--slate); }
.verification-criteria dl { grid-template-columns: 1fr; }
.verification-criteria dl div { display: grid; grid-template-columns: 120px 1fr; gap: 12px; }
.verification-criteria > p { padding: 10px 0; color: var(--slate); font-size: 10px; line-height: 1.5; }
.verification-criteria > p strong { margin-bottom: 4px; display: block; color: var(--black); font-size: 8px; text-transform: uppercase; }
.verification-action-context { max-width: 980px; margin: 20px auto 0; padding: 20px 24px; color: var(--white); background: var(--black); border-top: 3px solid var(--blue); }
.verification-action-context h2 { margin: 5px 0 6px; font-size: 21px; }
.verification-action-context p { margin: 0; color: #ddd; font-size: 11px; }
.verification-action-context small { margin-top: 9px; display: block; color: #79b7e3; font-size: 8px; text-transform: uppercase; }
.design-flow { margin-block: 26px; display: grid; grid-template-columns: 1fr 70px 1fr; align-items: center; }
.design-flow article { min-height: 280px; padding: 24px; display: flex; flex-direction: column; background: var(--cloud); border-top: 3px solid var(--blue); }
.design-flow article > span { color: var(--blue); font: 10px Consolas,monospace; }
.design-flow h2 { margin: 5px 0 9px; font-size: 24px; }
.design-flow article > p:not(.section-label) { color: var(--slate); font-size: 12px; line-height: 1.5; }
.design-flow article > strong { margin-top: auto; padding-block: 12px; color: var(--blue); font-size: 10px; text-transform: uppercase; }
.design-flow article .button { align-self: flex-start; }
.design-flow > i { position: relative; height: 2px; background: var(--blue); }
.design-flow > i::after { content: ""; position: absolute; right: 0; top: -5px; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 9px solid var(--blue); }
.design-readiness { padding: 24px; border: 1px solid var(--rule); }
.design-readiness > div:first-child h2 { margin: 4px 0 18px; font-size: 22px; }
.design-readiness-columns { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.design-readiness-columns h3 { padding-bottom: 8px; border-bottom: 1px solid var(--rule); font-size: 14px; }
.design-readiness-columns ul { margin: 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.design-readiness-columns li { display: grid; grid-template-columns: 9px 1fr; gap: 9px; }
.design-readiness-columns li > span { width: 8px; height: 8px; margin-top: 3px; background: #aaa; border-radius: 50%; }
.design-readiness-columns li.requirement-complete > span { background: var(--teal); }
.design-readiness-columns li strong, .design-readiness-columns li small { display: block; }
.design-readiness-columns li strong { font-size: 10px; }
.design-readiness-columns li small { margin-top: 2px; color: var(--slate); font-size: 9px; line-height: 1.4; }
.report-design-list { display: grid; gap: 12px; }
.report-design-list > section { padding: 14px; background: var(--cloud); border-left: 3px solid var(--blue); }
.report-design-list header { display: flex; justify-content: space-between; gap: 15px; }
.report-design-list header span { color: var(--blue); font-size: 8px; text-transform: uppercase; }
.report-design-list > section > p, .report-design-list div p { margin: 6px 0; color: var(--slate); font-size: 10px; line-height: 1.4; }
.report-design-list div { margin-top: 9px; padding-top: 8px; border-top: 1px solid var(--rule); }
.report-design-list b { font-size: 8px; text-transform: uppercase; }

/* Deploy phase */
.deploy-card.status-implemented::before, .effectiveness-card.outcome-effective::before { background: var(--teal); }
.deploy-card.status-blocked::before, .effectiveness-card.outcome-ineffective::before { background: #a63b32; }
.deploy-card.status-in_progress::before, .effectiveness-card.outcome-partially_effective::before,
.effectiveness-card.outcome-inconclusive::before { background: #d89d25; }
.overdue-label { margin-left: 5px; color: #a63b32; font-size: 8px; text-transform: uppercase; }
.completion-label { color: var(--teal); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.actual-result { margin-top: 14px; padding: 12px; background: var(--white); border-left: 3px solid var(--blue); }
.actual-result span { color: var(--blue); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.actual-result p { margin: 6px 0; color: var(--slate); font-size: 11px; line-height: 1.5; }
.actual-result small { color: #777; font-size: 9px; }
.return-panel, .closure-gate { margin-top: 22px; padding: 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--cloud); border-left: 4px solid #d89d25; }
.return-panel h2, .closure-gate h2 { margin: 4px 0 7px; font-size: 21px; }
.return-panel p:last-child { margin: 0; color: var(--slate); font-size: 11px; }
.return-panel > div:last-child { display: flex; gap: 10px; }
.lessons-panel { margin-top: 24px; padding: 24px; border: 1px solid var(--rule); }
.closure-form { max-width: none; margin-top: 18px; }
.closure-form .design-field-grid { align-items: start; }
.closure-gate { border-left-color: var(--blue); }
.closure-gate ul { margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 18px; list-style: none; }
.closure-gate li { display: flex; align-items: center; gap: 7px; font-size: 10px; }
.closure-gate li span { width: 8px; height: 8px; flex: 0 0 auto; background: #aaa; border-radius: 50%; }
.closure-gate li.requirement-complete span { background: var(--teal); }
.locked-plan { max-width: 980px; margin: 22px auto 0; padding: 22px; color: var(--white); background: var(--black); border-top: 3px solid var(--blue); }
.locked-plan dl { margin: 15px 0 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: #444; }
.locked-plan dl div { padding: 12px; background: #202020; }
.locked-plan dt { color: #79b7e3; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.locked-plan dd { margin: 4px 0 0; color: #eee; font-size: 11px; line-height: 1.4; }
.report-lessons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--rule); }
.report-lessons > div { padding: 13px; background: var(--cloud); }
.report-lessons b { font-size: 8px; text-transform: uppercase; }
.report-lessons p { margin: 5px 0 0; color: var(--slate); font-size: 10px; line-height: 1.5; }
.closure-certification { margin: 12px 0 0; padding: 10px; color: var(--blue); background: var(--cloud); font-size: 10px; font-weight: 700; }
.design-ai-review { margin: 18px 0; }
.design-ai-review .ai-cause-suggestions small + small { margin-top: 7px; }
.ai-plan-criteria { margin: 12px 0; padding: 14px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; background: var(--cloud); }
.ai-plan-criteria div { padding-bottom: 8px; border-bottom: 1px solid var(--rule); }
.ai-plan-criteria dt { color: var(--blue); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.ai-plan-criteria dd { margin: 4px 0 0; color: var(--slate); font-size: 10px; line-height: 1.45; }
.ai-plan-use { margin-top: 12px; display: flex; justify-content: flex-end; }
.ai-lessons-draft { margin-top: 14px; padding: 16px; background: var(--cloud); border-left: 3px solid var(--teal); }
.ai-lessons-draft h3 { margin: 0 0 10px; font-size: 14px; }
.ai-lessons-draft dl { margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.ai-lessons-draft dl div { padding: 10px; background: var(--white); }
.ai-lessons-draft dt { color: var(--blue); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.ai-lessons-draft dd { margin: 4px 0 0; color: var(--slate); font-size: 10px; line-height: 1.45; }
.ai-lessons-draft form { margin-top: 12px; display: flex; justify-content: flex-end; }

@media (max-width: 800px) {
  .design-heading { align-items: start; flex-direction: column; }
  .design-context, .root-cause-grid, .design-card-grid, .design-field-grid, .design-readiness-columns, .design-readiness-band, .risk-workspace, .ai-plan-criteria, .ai-lessons-draft dl { grid-template-columns: 1fr; }
  .design-context > div { border-right: 0; border-bottom: 1px solid var(--rule); }
  .verification-principle { grid-template-columns: 1fr; }
  .design-flow { grid-template-columns: 1fr; gap: 12px; }
  .design-flow > i { width: 2px; height: 28px; justify-self: center; }
  .design-flow > i::after { right: -5px; top: auto; bottom: -1px; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 9px solid var(--blue); border-bottom: 0; }
  .return-panel, .closure-gate { align-items: stretch; flex-direction: column; }
  .return-panel > div:last-child, .closure-gate ul, .locked-plan dl, .report-lessons { grid-template-columns: 1fr; }
  .risk-grid { grid-template-columns: minmax(58px,1.2fr) repeat(5,minmax(42px,1fr)); }
}

@media (max-width: 520px) {
  .risk-assessment { padding: 10px; overflow-x: auto; }.risk-matrix-layout { min-width: 410px; }.risk-cell small { display: none; }.risk-mode { min-width: 410px; }.risk-guidance { min-width: 410px; }
}
