.diagnostics-notice { margin-bottom: 22px; }
.diagnostics-filters { display: grid; grid-template-columns: minmax(210px, 2fr) minmax(125px, 1fr) minmax(145px, 1fr) minmax(140px, 1fr) minmax(140px, 1fr); align-items: end; gap: 14px; }
.diagnostics-filters label { display: flex; flex-direction: column; gap: 7px; font-size: 12px; font-weight: 600; color: #526071; }
.diagnostics-filters input, .diagnostics-filters select { width: 100%; min-width: 0; margin: 0; }
.diagnostics-filter-actions { grid-column: 1 / -1; display: flex; gap: 10px; }
.diagnostics-table td { max-width: 380px; vertical-align: top; overflow-wrap: anywhere; }
.diagnostics-table td small { display: block; margin-top: 5px; font-size: 11px; line-height: 1.5; color: #7a8796; }
.diagnostics-table .diagnostics-error-summary { color: #5e3b40; white-space: pre-wrap; }
.diagnostics-badge { display: inline-flex; padding: 4px 9px; border-radius: 6px; font-size: 11px; line-height: 1.3; font-weight: 650; }
.diagnostics-badge.failed { color: #ad2837; background: #fff0f1; border: 1px solid #f7cbd0; }
.diagnostics-badge.recovered { color: #24734b; background: #ecf8f0; border: 1px solid #bfe4ce; }
.diagnostics-dialog { width: min(980px, calc(100vw - 36px)); }
.diagnostics-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 0; border: 1px solid #e3e8ee; border-radius: 10px; overflow: hidden; }
.diagnostics-summary > div { padding: 13px 15px; min-width: 0; border-bottom: 1px solid #edf0f4; }
.diagnostics-summary dt { margin: 0 0 5px; font-size: 11px; font-weight: 500; color: #7a8796; }
.diagnostics-summary dd { margin: 0; font-size: 13px; color: #243447; overflow-wrap: anywhere; white-space: pre-wrap; }
.diagnostics-summary .diagnostics-wide { grid-column: 1 / -1; }
.diagnostics-detail-section { margin-top: 23px; }
.diagnostics-detail-section h3 { margin: 0 0 11px; font-size: 14px; font-weight: 650; }
.diagnostics-service { padding: 12px 14px; margin-top: 9px; background: #f8fafc; border: 1px solid #e3e8ee; border-radius: 8px; }
.diagnostics-service p { margin: 4px 0; font-size: 12px; overflow-wrap: anywhere; }
.diagnostics-timeline { list-style: none; margin: 0; padding: 0; border-left: 2px solid #dde5ef; }
.diagnostics-timeline li { position: relative; padding: 2px 0 17px 17px; margin-left: -1px; }
.diagnostics-timeline li::before { content: ''; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #8298b1; left: -4px; top: 7px; }
.diagnostics-timeline li strong { display: block; color: #354354; font-size: 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.diagnostics-timeline li small { display: block; color: #7a8796; font-size: 11px; margin-top: 5px; }
.diagnostics-context { margin-top: 17px; border: 1px solid #e3e8ee; border-radius: 9px; }
.diagnostics-context summary { padding: 12px 14px; font-size: 12px; cursor: pointer; color: #526071; font-weight: 600; }
.diagnostics-context pre { margin: 0; padding: 14px; max-height: 360px; overflow: auto; border-top: 1px solid #e3e8ee; background: #f8fafc; font: 11px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; color: #354354; }
@media (max-width: 1100px) { .diagnostics-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 650px) { .diagnostics-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } .diagnostics-filters label:first-child { grid-column: 1 / -1; } .diagnostics-summary { grid-template-columns: 1fr 1fr; } .diagnostics-dialog { padding: 19px; } }
@media (max-width: 390px) { .diagnostics-filters, .diagnostics-summary { grid-template-columns: minmax(0, 1fr); } }
