/* Same-origin demo integration; the report's original theme remains intact. */
.demo-notice { margin: 0 0 20px; color: var(--text-muted); font-size: 12px; }
.demo-notice a { display: inline-block; color: var(--accent); font-size: 14px; font-weight: 600; margin-bottom: 8px; text-decoration: none; }
.demo-notice a:hover { text-decoration: underline; }
.demo-notice p { margin: 0; }
.demo-notice strong { color: var(--text); }
.snapshot-note { padding: 10px 12px; margin: 0 0 10px; border-left: 3px solid var(--accent); background: var(--surface-2); color: var(--text-muted); font-size: 12px; }
.datatable-top, .datatable-bottom { color: var(--text-muted); }
.datatable-input, .datatable-selector { background: var(--surface-2); color: var(--text); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.datatable-pagination button { color: var(--text); }
.datatable-pagination .datatable-active button, .datatable-pagination button:hover { background: var(--accent-2); color: #fff; }
.datatable-sorter { padding-right: 20px; }
.datatable-sorter::before { border-top-color: currentColor; }
.datatable-sorter::after { border-bottom-color: currentColor; }
.datatable-input:focus-visible, .datatable-selector:focus-visible, .datatable-sorter:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 600px) {
  .sidebar { padding: 14px; gap: 10px; }
  .sidebar-brand { padding: 0; margin: 0; border: 0; }
  .sidebar-nav { order: 3; flex: 1 1 100%; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }
  .nav-item { flex: 0 0 auto; width: auto; white-space: nowrap; }
  .theme-toggle { margin: 0 0 0 auto; }
  .content { padding: 16px 12px; }
  .report-header { padding: 18px; }
  .card-body { padding: 12px; }
  .insight-grid { grid-template-columns: minmax(0, 1fr); }
  .section-invisible, .section-invisible.density-verydense, .incident-grid { grid-template-columns: minmax(0, 1fr); }
}
