/* Final paint layer. Layout, report colors and product photography are unchanged. */
:root { color-scheme: dark; }
::selection { color: #000000; background: #ffffff; }
.color-filter-definitions { position: absolute; pointer-events: none; overflow: hidden; }
.brand-header .header-logo img { filter: url("#logo-pure-bw") !important; opacity: 1; }
.loading { color: #ffffff; background: #000000; }

.period-menu,
.period-menu-header,
.period-menu-body,
.menu-footer,
.zoom-panel,
.current-selection,
.login-notice { color: #ffffff; background: #000000; }
.period-menu :is(h2, h3, p, label, legend, .menu-brand, .menu-divider, .zoom-value, .current-period) { color: #ffffff; }

/* Explicit inversion keeps legacy desktop controls and mobile controls consistent. */
.menu-backdrop .period-menu button,
.menu-backdrop .period-menu button:hover,
.menu-backdrop .period-menu button:active {
  color: #ffffff !important;
  background: #000000 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  opacity: 1;
}
.menu-backdrop .period-menu button[aria-pressed="true"],
.menu-backdrop .period-menu button[aria-selected="true"],
.menu-backdrop .period-menu button.selected,
.menu-backdrop .period-menu button.apply-view-button {
  color: #000000 !important;
  background: #ffffff !important;
}
.menu-backdrop .period-menu button :is(span, small, b, i) { color: inherit !important; }
.menu-backdrop .period-menu button:disabled { border-style: dashed; cursor: default; }
.period-menu-body { scrollbar-color: #ffffff #000000; }
.period-menu-body::-webkit-scrollbar-track { background: #000000; }
.period-menu-body::-webkit-scrollbar-thumb { background: #ffffff; border: 2px solid #000000; }
.menu-backdrop .period-menu button:focus-visible {
  outline: 2px solid currentColor !important;
  outline-offset: -4px !important;
}

.chat-widget :is(button, input, textarea, select):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -4px;
}
:is(.period-menu, .chat-widget) :is(input, textarea, select) {
  color: #ffffff;
  background-color: #000000;
  border-color: #ffffff;
  caret-color: #ffffff;
  -webkit-text-fill-color: currentColor;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
}
:is(.period-menu, .chat-widget) :is(input, textarea)::placeholder { color: #ffffff; opacity: 1; }
:is(.period-menu, .chat-widget) select {
  padding-right: 28px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 12px 8px;
  background-position: right 8px center;
}
:is(.period-menu, .chat-widget) option { color: #ffffff; background: #000000; }
.chat-widget button:disabled { color: #ffffff; background: #000000; opacity: 1; }
/* Attachments are photographs, not monochrome interface paint. */
.message-attachment img, .attachment-chip img { filter: none; }
