/* 26 messaging and investigations */
.msg-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; }
.msg-raw { margin: 0; padding: 14px 16px; background: #0f1d2b; color: #d7e6f5; font: 12px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; word-break: break-all; max-height: 520px; overflow: auto; border-radius: 0 0 6px 6px; }
.msg-edit { font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; min-height: 220px; white-space: pre; }
.msg-errlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.msg-errlist li { color: #9b1c1c; font-size: 13px; display: flex; gap: 8px; align-items: flex-start; }
.msg-parsed th { width: 34%; font-weight: 600; color: #4a6075; white-space: nowrap; }
.msg-parsed td { white-space: normal; overflow-wrap: anywhere; }
.msg-sub { padding: 8px 12px; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; color: #4a6075; background: #f5f8fb; border-top: 1px solid #e3eaf1; }
.msg-samples { display: flex; flex-wrap: wrap; gap: 6px; }
.msg-recv { display: flex; gap: 8px; }
.msg-gap { margin-top: 14px; }
.msg-track { display: flex; gap: 8px; } .msg-track input { flex: 1; min-width: 0; }
.msg-steps { list-style: none; margin: 0; padding: 0 0 0 4px; }
.msg-steps li { position: relative; padding: 0 0 16px 24px; border-left: 2px solid #d5e0ea; display: grid; gap: 2px; }
.msg-steps li:last-child { border-left-color: transparent; padding-bottom: 0; }
.msg-steps li::before { content: ''; position: absolute; left: -7px; top: 2px; width: 12px; height: 12px; border-radius: 50%; background: #8aa3ba; border: 2px solid #fff; box-shadow: 0 0 0 1px #8aa3ba; }
.msg-steps li.t-ok::before { background: #2f9e5b; box-shadow: 0 0 0 1px #2f9e5b; } .msg-steps li.t-bad::before { background: #c0392b; box-shadow: 0 0 0 1px #c0392b; } .msg-steps li.t-warn::before { background: #e3a33a; box-shadow: 0 0 0 1px #e3a33a; } .msg-steps li.t-info::before { background: #1f6fbf; box-shadow: 0 0 0 1px #1f6fbf; }
.msg-steps span { font-size: 12px; color: #5d7286; }
.msg-thread { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.msg-thread li { border: 1px solid #e3eaf1; border-radius: 8px; padding: 10px 12px; background: #fbfcfe; }
.msg-thread li .h { font-size: 12px; color: #5d7286; margin-bottom: 4px; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.msg-thread li .b { white-space: pre-wrap; font-size: 13.5px; color: #1b2f43; }
.msg-thread li.c-to_client, .msg-thread li.c-to_counterparty { border-left: 3px solid #1f6fbf; }
.msg-thread li.c-from_client, .msg-thread li.c-from_counterparty { border-left: 3px solid #2f9e5b; background: #f4fbf6; }
.msg-thread li.c-internal { border-left: 3px solid #a0aec0; background: #f7f8fa; }
.msg-chip { font-size: 11px; padding: 1px 7px; border-radius: 999px; background: #e7eef6; color: #1f4f7a; font-weight: 700; }
.msg-late { color: #b3261e !important; font-weight: 600; }
.msg-work details { border: 1px solid #e3eaf1; border-radius: 8px; padding: 8px 10px; margin-bottom: 8px; }
.msg-work summary { cursor: pointer; font-weight: 700; font-size: 13px; color: #1f4f7a; }
.msg-work details[open] summary { margin-bottom: 10px; }
