/* Insightra QMS Review: the single theme file (name, colors). Brand colors sampled from the Insightra logo (Oct 23, 2026):
   charcoal #303030, red #E03020, deep teal-navy #004060. Replace with the official style guide when Insightra has one.
   Contrast checked against WCAG AA: white on #C8281A 5.6:1, #004060 on white 11:1, #303030 on #f6f7f8 12.3:1. */
:root {
  --brand-charcoal: #303030; --brand-red: #E03020; --brand-red-text: #C8281A; --brand-navy: #004060;
  --bg: #f6f7f8; --surface: #ffffff; --sunken: #eceff2; --fg: #303030; --muted: #5a5f66; --line: #dcdfe4;
  --accent: #C8281A; --accent-fg: #ffffff; --accent-soft: #fbe6e3; --link: #004060;
  --due: #8a6a1f; --due-soft: #f3edd6; --late: #b3261e; --ok: #2f6b4a;
  color-scheme: light;
}
:root[data-theme="dark"] {
  --bg: #16191d; --surface: #1f2328; --sunken: #111418; --fg: #e8eaed; --muted: #9aa0a6; --line: #333a42;
  --accent: #ff6b5a; --accent-fg: #16191d; --accent-soft: #3a2320; --link: #6bb4d6;
  --due: #e0b850; --due-soft: #3a3320; --late: #ff8a7d; --ok: #6fc194;
  color-scheme: dark;
}
a { color: var(--link); }
.row.active { color: var(--accent); }
.filecard .dl { color: var(--link); }
.linkbtn { color: var(--link); }
.tabs { display: flex; gap: 4px; margin: 8px 0 14px; border-bottom: 1px solid var(--line); }
.tab { padding: 8px 14px; text-decoration: none; color: var(--muted); border-bottom: 2px solid transparent; }
.tab.on { color: var(--fg); border-bottom-color: var(--accent); font-weight: 500; }
.user-row { margin: 8px 0; }
.audit .row-line { padding: 4px 0; border-bottom: 1px solid var(--line); font-size: 13.5px; }
.brand-logo { display: flex; align-items: center; flex: none; margin-left: 4px; }
.brand-logo img { height: 32px; width: auto; display: block; }
.logo-dark { display: none !important; }
:root[data-theme="dark"] .logo-light { display: none !important; }
:root[data-theme="dark"] .logo-dark { display: block !important; }
@media (max-width: 560px) { .brand-logo img { height: 24px; } }
@media (max-width: 380px) { .brand-logo { display: none; } }
.summarized { text-align: center; padding: 6px 12px; margin: 4px 0 10px; }
