/* Project organization uses the imported demo's palette and spacing. */
.pv-project-group { min-width: 0; }
.pv-project-group .pv-project-button { width: 100%; cursor: pointer; }
.pv-project-group .pv-project-button > svg { width: 16px; height: 16px; }
.pv-project-group .pv-project-button[aria-expanded="true"] > svg { transform: rotate(90deg); }
.pv-project-children { margin: 4px 0 12px 16px; padding-left: 10px; border-left: 1px solid var(--line); }
.pv-folder-button { display: flex; align-items: center; gap: 9px; width: 100%; min-height: 44px; padding: 8px 10px; text-align: left; color: var(--muted); background: transparent; border: 1px solid transparent; border-radius: 6px; cursor: pointer; font: 13px/1.4 var(--sans); }
.pv-folder-button svg { width: 16px; height: 16px; flex-shrink: 0; }
.pv-folder-button span { min-width: 0; overflow-wrap: anywhere; }
.pv-folder-button:hover, .pv-folder-button[aria-pressed="true"] { color: var(--ink); background: var(--surface-soft); }
.pv-folder-button[aria-pressed="true"] { border-color: var(--line); }
.pv-folder-button:active { background: var(--wash); }
.pv-project-group button:focus-visible { outline: 2px solid var(--cta); outline-offset: 2px; }
.pv-project-group .pv-project-button { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 3px 7px; height: auto; min-height: 54px; padding: 10px 8px; text-align: left; }
.pv-project-group .pv-needs-count { grid-column: 2; white-space: nowrap; }
