/* Single-app shell — hides the duplicate <header> baked into each variant. */
html, body, #root { height: 100%; }
body { margin: 0; background: #f8fafc; }

.matrix-shell { min-height: 100vh; }

/* Each variant component renders its own .pv2-nav inside its root. Since
   we wrap them in .matrix-novnav, kill the duplicate header. */
.matrix-novnav .pv2-nav { display: none; }
.matrix-novnav > .pv2-root { background: transparent; }

/* Make sure finance sub-tab bar at the top of FinanceVariant is hidden
   (we render our own switcher above the body). */
.matrix-novnav .fin-subtabs { display: none; }

/* Finance switcher we render in the shell */
.matrix-finance-switcher {
  display: flex; align-items: center; gap: 4px;
  padding: 6px 28px 0;
  border-bottom: 1px solid var(--line);
  background: var(--bg);
}

/* Placeholder view for tabs we haven't mocked */
.matrix-placeholder {
  min-height: calc(100vh - 56px);
  display: flex; align-items: center; justify-content: center;
  padding: 60px 28px;
}
.matrix-placeholder-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 32px 36px;
  max-width: 560px;
  text-align: left;
}
.matrix-placeholder-eyebrow {
  font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: 700; color: var(--ink-3);
}
.matrix-placeholder-h2 {
  font-family: 'Plus Jakarta Sans', 'Public Sans', sans-serif;
  font-size: 32px; font-weight: 600; margin: 6px 0 12px;
  letter-spacing: -0.02em; color: var(--ink);
}
.matrix-placeholder-body { color: var(--ink-2); font-size: 13.5px; line-height: 1.55; margin: 0; }
