/* One quiet dark workspace, shared by the map and every data view. */
:root {
  color-scheme: dark;
  --bg: #030508;
  --surface: #0b111b;
  --panel: #121c29e6;
  --raised: #111a27;
  --ink: #e5eef9;
  --muted: #a2b3c8;
  --line: #b5d3f526;
  --accent: #79b7ff;
  --soft: #ffffff09;
  --gold: #dfb267;
  --focus: #79b7ff;
  --hover: #182536;
  --space-panel: var(--panel);
  --space-line: var(--line);
  --space-ink: var(--ink);
  --space-muted: var(--muted);
}
body {
  background: var(--bg);
  background-image: none;
  color: var(--ink);
}
body .topbar,
body.jobzoo-mode .topbar,
body.network-mode .topbar {
  background: var(--bg);
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  padding-block: 6px;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
}
.topbar .global-search { grid-column: 3; }
.topbar .language-switch { grid-column: 4; }
.brand .wordmark { color: var(--ink); }
body .page, body.jobzoo-mode .page { background: transparent; padding-top: 8px; }
button, input, select, .link-button {
  color: var(--ink);
  background: var(--soft);
  border-color: var(--line);
}
button:hover, .link-button:hover { background: var(--hover); border-color: #79b7ff66; }
input::placeholder { color: #889bb4; }
button.primary, .jobzoo-company-title .primary {
  color: #07101d;
  background: var(--accent);
  border-color: var(--accent);
}
button.primary:hover { background: #a2ceff; }
.global-search {
  background: var(--soft);
  color: var(--ink);
  border-color: var(--line);
}
#ownership-year {
  background: transparent;
  border-color: transparent;
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
#ownership-year:hover, #ownership-year:focus-visible {
  background: var(--soft);
  color: var(--ink);
}
.global-search kbd { border-color: var(--line); }
.language-switch button { background: transparent; color: var(--muted); }
.language-switch button.active { background: var(--soft); color: var(--ink); }
#year-progress { color: var(--ink); background: var(--panel); }
.empty, #view > [role="status"] { background: transparent; }
.pill { color: var(--muted); background: var(--soft); }
.warn, .notice, .dialog-body .notice { color: var(--gold); background: #dca94e0e; }
.text-button, .node-name, .proof { background: transparent; }
.jobzoo-picker, .jobzoo-steps, .filters, .path-form {
  background: transparent;
  border-color: var(--line);
  box-shadow: none;
}
.jobzoo-picker { padding: 12px 0; border-inline: 0; border-radius: 0; }
.jobzoo-steps button.active { color: var(--accent); background: var(--soft); box-shadow: none; }
.jobzoo-steps button { color: var(--muted); }
.jobzoo-relations > section, .jobzoo-chart-box,
.structure-workspace, .path-node, .group-block, .review,
.jobzoo-directory-card, .jobzoo-evidence, .history-scroll {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: none;
}
.structure-toolbar, .structure-legend { background: transparent; }
.structure-frame { background: #060b12; border-color: var(--line); }
.structure-caption, .structure-inspector { background: var(--surface); }
.structure-relation { background: var(--raised); }
.structure-relation button { color: var(--ink); }
.structure-member-swatch { background: #183354; border-color: #719dce !important; }
.structure-holder-swatch, .structure-related-party-swatch { background: #222d40; }
.structure-external-swatch { background: #131d29; }
#structure-regions rect { fill: #0a1320; stroke: #87add538; }
#structure-regions text { fill: var(--muted); }
dialog { background: var(--surface); border-color: var(--line); box-shadow: 0 22px 60px #0009; }
dialog::backdrop { background: #000b; backdrop-filter: none; }
.search-results button:hover { background: var(--hover); }
.proof-table th { background: var(--raised); }
.product-footer { flex-wrap: wrap; }
.product-contact {
  flex-basis: 100%;
  order: 1;
  margin: 0;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
  text-align: center;
}
.product-contact a { color: inherit; white-space: nowrap; text-underline-offset: 3px; }
.product-contact a:hover { color: var(--ink); }
body .product-footer .product-contact { margin: 0; }
.financial-standalone .product-contact { margin-top: 24px; }
@media (max-width: 860px), (hover: none), (pointer: coarse) {
  .product-contact { padding-bottom: max(14px, var(--navigation-safe-bottom, 0px)); }
}
.usage-settings p { max-width: 390px; }
.usage-settings .check { justify-content: flex-end; margin-top: 10px; }
@media (max-width: 540px) {
  body .topbar, body.jobzoo-mode .topbar, body.network-mode .topbar {
    grid-template-columns: auto auto minmax(44px, 1fr) auto;
    padding-inline: 10px;
  }
  body #ownership-year { width: 72px; }
}
@media (prefers-reduced-transparency: reduce) {
  :root { --soft: #111a27; --panel: #121c29; }
}
