:root {
    --wpi-surface: var(--color-surface, #fff);
    --wpi-text: var(--color-text, #1f2937);
    --wpi-muted: var(--color-muted, #64748b);
    --wpi-border: var(--color-border, #dbe2ea);
    --wpi-accent: var(--color-accent-alt, #2563eb);
    --wpi-success: var(--color-success, #2e7d32);
    --wpi-warning: var(--color-warning, #b7770d);
    --wpi-danger: var(--color-danger, #c62828);
    --wpi-radius: var(--radius-md, 8px);
    --wpi-space-sm: var(--space-sm, .75rem);
    --wpi-space-md: var(--space-md, 1rem);
    --wpi-space-lg: var(--space-lg, 1.5rem);
    --wpi-space-xl: var(--space-xl, 2rem);
}

.integrity-layout { max-width: 1180px; }
.integrity-main { min-width: 0; }
.topic-header {
    padding: clamp(2rem, 7vw, 4.5rem) 1rem;
    background: linear-gradient(135deg, var(--topic-color, #c0392b), var(--topic-gradient, #e74c3c));
    color: #fff;
}
.topic-header > .container { width: min(100%, 1180px); margin-inline: auto; }
.topic-header__label { margin: 0 0 .5rem; font-size: .8rem; font-weight: 700; letter-spacing: .12em; }
.topic-header__title { margin: 0; color: inherit; font-size: clamp(2rem, 6vw, 4rem); }
.topic-header__desc { max-width: 760px; margin: .75rem 0 0; font-size: 1.05rem; }
.integrity-content { max-width: 760px; color: var(--wpi-text); line-height: 1.7; }
.integrity-content h2 { margin: var(--wpi-space-xl) 0 var(--wpi-space-sm); scroll-margin-top: 90px; }
.integrity-content a, .integrity-revisions__all { color: var(--wpi-accent); }
.integrity-content table { width: 100%; border: 1px solid var(--wpi-border); border-collapse: collapse; }
.integrity-content th, .integrity-content td { padding: .75rem; border-bottom: 1px solid var(--wpi-border); text-align: left; }

.audit-report { max-width: 800px; color: var(--wpi-text); }
.audit-meta, .audit-check, .audit-revision {
    background: var(--wpi-surface);
    border: 1px solid var(--wpi-border);
    border-radius: var(--wpi-radius);
}
.audit-meta { padding: var(--wpi-space-md); margin-bottom: var(--wpi-space-xl); color: var(--wpi-muted); }
.audit-score { text-align: center; padding: var(--wpi-space-xl) 0; }
.audit-score__number { color: var(--wpi-success); font-size: clamp(3rem, 10vw, 5rem); font-weight: 700; line-height: 1; }
.audit-score__breakdown, .audit-revision__summary, .audit-check__header { display: flex; gap: var(--wpi-space-md); flex-wrap: wrap; }
.audit-score__breakdown { justify-content: center; }
.audit-category { margin-bottom: calc(var(--wpi-space-xl) * 1.5); }
.audit-checks, .audit-timeline { display: flex; flex-direction: column; gap: var(--wpi-space-sm); }
.audit-check { padding: var(--wpi-space-md); border-left-width: 4px; }
.audit-pass { border-left-color: var(--wpi-success); }
.audit-warn { border-left-color: var(--wpi-warning); }
.audit-fail { border-left-color: var(--wpi-danger); }
.audit-info { border-left-color: var(--wpi-accent); }
.audit-check__header { justify-content: space-between; }
.audit-check__desc, .audit-check__file, .audit-check__refs { color: var(--wpi-muted); }
.audit-check__code { overflow-x: auto; padding: var(--wpi-space-sm); background: #0d1117; color: #c9d1d9; }
.audit-revision { overflow: hidden; }
.audit-revision__toggle, .audit-check-acc__toggle { width: 100%; padding: var(--wpi-space-md); border: 0; background: var(--wpi-surface); color: inherit; text-align: left; cursor: pointer; }
.audit-revision__body, .audit-check-acc__body { padding: var(--wpi-space-md); }
.audit-check-acc { border-left: 4px solid var(--wpi-border); }
.audit-chip, .audit-check__severity, .audit-check__status, .integrity-revisions__badge { padding: .15rem .5rem; border-radius: 999px; font-size: .75rem; }
.audit-sev-fixed { background: #e8f5e9; color: #2e7d32; }
.audit-sev-critical { background: #fde8e8; color: #b91c1c; }
.audit-sev-high { background: #fef0e0; color: #c2410c; }
.audit-sev-medium { background: #fef9e0; color: #a16207; }
.audit-sev-low, .audit-sev-info { background: #e8f4fd; color: #1d4ed8; }

.integrity-toc__list, .integrity-revisions, .related-links { list-style: none; padding: 0; }
.integrity-sidebar { min-width: 0; }
.sidebar-widget, .integrity-toc { padding: var(--wpi-space-md); margin-bottom: var(--wpi-space-md); background: var(--wpi-surface); border: 1px solid var(--wpi-border); border-radius: var(--wpi-radius); }
.sidebar-widget__title, .integrity-toc__title { margin: 0 0 var(--wpi-space-sm); font-size: .9rem; }
.integrity-toc__link { color: var(--wpi-muted); }
.integrity-revisions__item, .related-links__item { padding: var(--wpi-space-sm) 0; border-top: 1px solid var(--wpi-border); }
.integrity-revisions__head { display: flex; gap: .5rem; align-items: center; }
.integrity-revisions__date { margin-left: auto; color: var(--wpi-muted); }
.integrity-report { margin-top: calc(var(--wpi-space-xl) * 1.5); padding-top: var(--wpi-space-lg); border-top: 1px solid var(--wpi-border); }
.related-links__item { display: flex; align-items: center; gap: var(--wpi-space-sm); color: var(--wpi-text); text-decoration: none; }
.related-links__icon { flex: 0 0 auto; color: var(--wpi-muted); }
.wpi-policy-date {
    margin: 0 0 var(--wpi-space-lg);
    color: var(--wpi-muted);
    font-size: .85rem;
}

@media (min-width: 900px) {
    .integrity-layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(280px, 3fr); gap: var(--wpi-space-xl); }
}

@media (max-width: 599px) {
    .audit-check__header, .audit-revision__summary { align-items: flex-start; flex-direction: column; }
    .integrity-content table { display: block; overflow-x: auto; }
}
