/* ViLo v8.8.1 Safety Center contrast and theme repair */
.v880-policy-page,
.v880-safety-center,
.v880-report-page,
.v880-creator-safety,
.v880-admin-stack {
  --v881-safety-bg: #071421;
  --v881-safety-panel: #0d2034;
  --v881-safety-panel-strong: #102a43;
  --v881-safety-border: #26506d;
  --v881-safety-text: #f6f9ff;
  --v881-safety-muted: #a9bdd3;
  --v881-safety-primary: #8066ff;
  --v881-safety-good: #2ee6b3;
  color: var(--v881-safety-text);
  color-scheme: dark;
}

.v880-policy-hero,
.v880-safety-hero,
.v880-studio-hero,
.v880-admin-hero {
  color: var(--v881-safety-text);
  border-color: var(--v881-safety-border);
  background:
    radial-gradient(circle at 12% 16%, rgba(128, 102, 255, .22), transparent 36%),
    radial-gradient(circle at 88% 84%, rgba(46, 230, 179, .16), transparent 34%),
    linear-gradient(145deg, #10233a, #071724 72%);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .24);
}

.v880-policy-hero h1,
.v880-safety-hero h1,
.v880-studio-hero h1,
.v880-admin-hero h1,
.v880-policy-hero h2,
.v880-safety-hero h2,
.v880-studio-hero h2,
.v880-admin-hero h2 {
  color: var(--v881-safety-text);
  text-shadow: 0 2px 22px rgba(0, 0, 0, .22);
}

.v880-policy-hero p,
.v880-safety-hero p,
.v880-studio-hero p,
.v880-admin-hero p,
.v880-policy-page .muted,
.v880-safety-center .muted,
.v880-report-page .muted,
.v880-creator-safety .muted,
.v880-admin-stack .muted {
  color: var(--v881-safety-muted);
}

.v880-safety-tabs {
  border-color: var(--v881-safety-border);
  background: rgba(8, 24, 39, .96);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
}

.v880-safety-tabs a {
  color: #dbe7f5;
}

.v880-safety-tabs a:hover,
.v880-safety-tabs a:focus-visible {
  color: #ffffff;
  background: rgba(128, 102, 255, .2);
  outline: 2px solid rgba(46, 230, 179, .7);
  outline-offset: 2px;
}

.v880-safety-tabs a.active {
  color: #ffffff;
  background: linear-gradient(135deg, #7258ff, #8b6cff);
  box-shadow: 0 10px 24px rgba(114, 88, 255, .24);
}

.v880-policy-page .card,
.v880-safety-center .card,
.v880-report-page .card,
.v880-creator-safety .card,
.v880-admin-stack .card,
.v880-policy-document,
.v880-policy-nav,
.v880-record-list > article,
.v880-admin-stack > article {
  color: var(--v881-safety-text);
  border-color: var(--v881-safety-border);
  background: linear-gradient(180deg, rgba(16, 42, 67, .98), rgba(9, 27, 44, .98));
  box-shadow: 0 18px 44px rgba(0, 0, 0, .18);
}

.v880-policy-page .card p,
.v880-safety-center .card p,
.v880-report-page .card p,
.v880-creator-safety .card p,
.v880-admin-stack .card p,
.v880-policy-page .card small,
.v880-safety-center .card small,
.v880-report-page .card small,
.v880-creator-safety .card small,
.v880-admin-stack .card small,
.v880-record-list > article small,
.v880-admin-stack > article small {
  color: var(--v881-safety-muted);
}

.v880-policy-document,
.v880-policy-document h1,
.v880-policy-document h2,
.v880-policy-document h3,
.v880-policy-document p,
.v880-policy-document li,
.v880-policy-nav,
.v880-policy-nav a {
  color: var(--v881-safety-text);
}

.v880-policy-nav a:hover,
.v880-policy-nav a:focus-visible {
  color: #ffffff;
  background: rgba(128, 102, 255, .18);
}

.v880-policy-page input,
.v880-policy-page select,
.v880-policy-page textarea,
.v880-safety-center input,
.v880-safety-center select,
.v880-safety-center textarea,
.v880-report-page input,
.v880-report-page select,
.v880-report-page textarea,
.v880-creator-safety input,
.v880-creator-safety select,
.v880-creator-safety textarea,
.v880-admin-stack input,
.v880-admin-stack select,
.v880-admin-stack textarea {
  color: var(--v881-safety-text);
  border-color: var(--v881-safety-border);
  background: #081727;
}

.v880-policy-page input::placeholder,
.v880-policy-page textarea::placeholder,
.v880-safety-center input::placeholder,
.v880-safety-center textarea::placeholder,
.v880-report-page input::placeholder,
.v880-report-page textarea::placeholder,
.v880-creator-safety input::placeholder,
.v880-creator-safety textarea::placeholder,
.v880-admin-stack input::placeholder,
.v880-admin-stack textarea::placeholder {
  color: #7f96ad;
}

.v880-policy-page label,
.v880-safety-center label,
.v880-report-page label,
.v880-creator-safety label,
.v880-admin-stack label,
.v880-policy-page summary,
.v880-safety-center summary,
.v880-report-page summary,
.v880-creator-safety summary,
.v880-admin-stack summary {
  color: var(--v881-safety-text);
}

.v880-policy-page .checkbox-card,
.v880-safety-center .checkbox-card,
.v880-report-page .checkbox-card,
.v880-creator-safety .checkbox-card,
.v880-admin-stack .checkbox-card,
.v880-evidence-note {
  color: var(--v881-safety-text);
  border-color: var(--v881-safety-border);
  background: rgba(8, 23, 39, .76);
}

.v880-safety-center .empty,
.v880-policy-page .empty,
.v880-report-page .empty,
.v880-creator-safety .empty,
.v880-admin-stack .empty {
  color: var(--v881-safety-muted);
  border-color: var(--v881-safety-border);
  background: rgba(8, 23, 39, .62);
}

.v880-safety-center a:not(.btn):not(.v880-safety-tabs a),
.v880-policy-page a:not(.btn):not(.v880-policy-nav a),
.v880-report-page a:not(.btn),
.v880-creator-safety a:not(.btn),
.v880-admin-stack a:not(.btn) {
  color: #8debd1;
}

.v880-safety-center a:not(.btn):not(.v880-safety-tabs a):hover,
.v880-safety-center a:not(.btn):not(.v880-safety-tabs a):focus-visible,
.v880-policy-page a:not(.btn):not(.v880-policy-nav a):hover,
.v880-policy-page a:not(.btn):not(.v880-policy-nav a):focus-visible {
  color: #c7fff0;
}

@media (max-width: 620px) {
  .v880-safety-tabs {
    scrollbar-color: var(--v881-safety-primary) #081727;
  }
}
