/* Application composition only. Design-system primitives live in ds-bundle.css. */
.projects-page { margin: 0 auto; max-width: 1120px; padding: 48px 32px 72px; }
.projects-page__heading { display: flex; align-items: start; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.projects-page__intro { color: var(--ds-colour-ink-700); max-width: 640px; }
.projects-list { display: grid; gap: 12px; max-width: 820px; }
.projects-card { text-align: left; width: 100%; }
.projects-card__meta { color: var(--ds-colour-ink-600); display: block; font-size: var(--ds-font-size-14); margin-top: 4px; }
.project-workspace { max-width: 900px; }
.project-workspace__title-row { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
.project-workspace__subnav { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; }
.project-workspace__notice { color: var(--ds-colour-ink-700); margin: 0 0 20px; }
.question-list { display: grid; gap: 12px; }
.question-list__row { align-items: center; display: grid; gap: 12px; grid-template-columns: 42px minmax(0, 1fr) auto; text-align: left; width: 100%; }
.question-list__number { color: var(--ds-colour-deep-green); font-weight: var(--ds-font-weight-bold); }
.question-list__status { color: var(--ds-colour-ink-600); font-size: var(--ds-font-size-14); white-space: nowrap; }
.question-list__status--na { background: var(--ds-colour-info-soft); border: 1px solid var(--ds-colour-info-line); color: var(--ds-colour-info-ink); padding: 4px 8px; }
.question-page { max-width: 980px; }
.question-page__nav { display: flex; justify-content: space-between; margin-top: 28px; }
.question-options { display: grid; gap: 8px; }
.question-options label { align-items: start; display: flex; gap: 8px; }
.question-options input { margin-top: 4px; }
.question-page__custom { margin-top: 16px; max-width: 560px; }
.question-page__custom input { box-sizing: border-box; width: 100%; }
.brief-section { margin-top: 24px; }
.brief-section ul { margin: 8px 0; padding-left: 20px; }
.brief-empty { color: var(--ds-colour-ink-700); }
@media (max-width: 760px) { .projects-page { padding: 24px 16px 48px; } .projects-page__heading { display: grid; } .question-list__row { grid-template-columns: 32px minmax(0, 1fr); } .question-list__status { grid-column: 2; } }
