/* Brand color system (design §220/§810; brand guide §7 + sciwmlab-site palette).
   App-owned: survives re-vendoring. Navy = authority/headings, teal = actions/
   connections, muted green = positive outcomes, orange = risk (sparing),
   white/light-gray backgrounds. */
/* Type scale tokens (UI-559 names, Builder D; R16.1b). Today's values at the default 16 px root: fine = 14 px (the
   non-chart floor), chart = 12 px. Every app page sizes text with these, never a literal px/rem/em.
   :where(:root) has zero specificity, so the shared design system's own definitions (UI-559, shared app.css, with the
   fluid root) win over these defaults whatever the stylesheet order. */
:where(:root) {
  --fs-h1: 1.5rem;
  --fs-h2: 1.25rem;
  --fs-h3: 1.0625rem;
  --fs-metric: 1.375rem;
  --fs-body: 1rem;
  --fs-secondary: 0.9375rem;
  --fs-fine: 0.875rem;
  --fs-chart: 0.75rem;
}

:root {
  --brand-navy: #0b2638;
  --brand-navy-deep: #071b2b;
  --brand-navy-soft: #12364a;
  --brand-teal: #0e7568;
  --brand-teal-strong: #075e55;
  --brand-teal-soft: #70c6b5;
  --brand-positive: #1f7a53;
  --brand-positive-soft: #d9f0ea;
  --brand-risk: #d97706;
  --brand-risk-strong: #b85f00;
  --brand-critical: #b42318;
  --brand-bg: #ffffff;
  --brand-bg-soft: #f7f8f4;
}

/* App composition of the pinned UI system (D90K 90400): Evidence and date
   preferences use app metadata; planning-only controls have no app action. */
.workspace-settings .workspace-admin,
.shell-evidence [data-route="decision_record"],
[data-sources-footer] {
  display: none;
}

.app-sources-links {
  padding: 12px 24px;
  text-align: right;
  font-size: var(--fs-fine);
}

/* Readable tables (founder, round 7). The vendored stylesheet sets
   overflow-wrap:anywhere on all th/td, which letter-wraps headers ("AF FE CT
   ED") and buttons ("sh o w") when columns squeeze. Headers and in-cell
   buttons never wrap; cell text wraps at word boundaries only. */
.data-table th {
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}
.data-table td {
  overflow-wrap: break-word;
  word-break: normal;
}
.data-table td button {
  white-space: nowrap;
}

/* Round 10: the sticky topbar is translucent in the vendored theme — content
   ghosts through while scrolling ("stuff not visible"). Make it opaque. */
.product-topbar {
  background: var(--brand-bg, #ffffff);
}

/* The service supplies one actual customer label. Suppress the engine's
   prefatory demo label; no cross-customer switching is offered here. */
.app-nav .nav-foot > span,
.app-nav .nav-foot > label,
.app-nav .nav-foot > select,
.app-nav .nav-foot > [data-open-planning-settings] {
  display: none;
}

/* Workflow bar spinner (founder round 16): shown on a running Process/Publish. */
@keyframes dbh-spin { to { transform: rotate(360deg); } }
.dbh-spinner {
  display: inline-block; width: 14px; height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.45); border-top-color: #fff;
  border-radius: 50%; animation: dbh-spin 0.7s linear infinite; vertical-align: middle;
}

/* R18: the one read-only version line on an Explore page is the host's [data-demo-version-line] (the demo package). The
   shell's [data-version-line] reads the app's own context, which names the customer workspace rather than the demo
   version, so it is hidden in the app. */
[data-version-line] { display: none; }
