/* ============================================================
   UNIFIED WORKSPACE — partner dashboard page styles (doc 25 §10).
   Tokens only; composes the BI tile grid + Almanac palette.
   ============================================================ */

/* Canvas spacing is owned entirely by the shared shell (.bishell__main,
   var(--space-5)). Per-screen canvas padding is intentionally NOT set here,
   so every drawer destination starts content at the same X/Y. */
.pg-dash .bitilegrid { gap: var(--space-4); }

/* Consistency law #1 (doc 25 §3b): the shell is pinned on EVERY view —
   the page never scrolls, only the BiAppShell canvas does. `.bishell`
   is height:100vh/overflow:hidden, so the body cannot scroll regardless;
   this just belts-and-braces it across every drawer destination. */
body { overflow: hidden; }

/* plugin set tile — the curator's special power */
.pgset { display: flex; flex-direction: column; gap: var(--space-4); }
.pgset__chain {
  display: flex; align-items: stretch; flex-wrap: wrap; gap: var(--space-2);
}
.pgset__arrow { align-self: center; color: var(--ink-tertiary); font-size: 14px; }
.pgset__chip {
  display: flex; flex-direction: column; gap: 2px; align-items: flex-start;
  padding: 8px 12px; min-height: 44px;
  border-radius: var(--radius-md);
  border: 1px solid var(--line-default);
  background: var(--surface-canvas);
  cursor: pointer; text-align: left;
  font: inherit;
  transition: border-color var(--dur-state) var(--ease-enter), background var(--dur-state) var(--ease-enter);
}
.pgset__chip:hover:not(.is-disabled):not(.is-locked) { border-color: var(--accent-data); }
.pgset__chip.is-on {
  border-color: var(--accent-data);
  background: var(--accent-data-soft);
}
.pgset__chip.is-locked { cursor: default; }
.pgset__chip.is-disabled { opacity: 0.5; cursor: not-allowed; }
.pgset__chiplayer { font-size: 12.5px; font-weight: 600; color: var(--ink-primary); }
.pgset__chipver {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 10.5px; color: var(--ink-tertiary);
}
.pgset__foot {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-3);
  flex-wrap: wrap;
  padding-top: var(--space-3); border-top: 1px solid var(--line-soft);
}
.pgset__hash {
  font-family: var(--font-mono, "JetBrains Mono", monospace);
  font-size: 11.5px; color: var(--ink-tertiary);
}
.pgset__edit {
  appearance: none; font: inherit; font-size: 12.5px; font-weight: 600;
  color: var(--accent-data); background: transparent;
  border: 1px solid var(--accent-data); border-radius: var(--radius-md);
  padding: 6px 12px; min-height: 32px; cursor: pointer;
}
.pgset__edit:hover { background: var(--accent-data-soft); }

/* library entry tile */
.pg-libentry__counts {
  display: flex; gap: var(--space-4); flex-wrap: wrap;
  font-size: 13px; color: var(--ink-secondary);
}
.pg-libentry__counts strong { color: var(--ink-primary); font-variant-numeric: tabular-nums; }

/* result preview + runs inside tiles — let inner card breathe */
.pg-resultwrap { max-height: 460px; overflow: auto; }
.pg-runswrap { max-height: 460px; overflow: auto; }

/* library full page */
.pg-library { height: 100%; }

/* audit page (padding from the shared shell, not here) */
.pg-audit__intro { max-width: 720px; }
.pg-audit__intro .t-h1 { margin: 0 0 var(--space-3); }
