/* A JOB'S CLIENT PORTAL FOLD (3 Nov 2026; public/assets/portal-studio.js draws it): its few rules on top of the job page's
   own cards and rows (/assets/app.css: wa-card, pn-card, jf-row, pn-badge), in the app's own tokens, so light and dark
   follow the Studio's. Every rule is scoped to a pt- class. */

/* the link itself, whole, breaking anywhere so a phone never scrolls sideways */
.pt-url { margin: 0 0 6px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; word-break: break-all; }
.pt-url a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.pt-acts { margin-top: 12px; flex-wrap: wrap; gap: 8px; }
/* a card's own small lines (the app's .pn-t is sized inside a list alone): the list's small words, muted */
.pt-card > p.pn-t { margin: 0 0 4px; font-size: 13px; line-height: 1.5; color: var(--pn-muted); font-variant-numeric: tabular-nums; }
.pt-lead { margin: 0 0 8px; }
.pt-req .pt-words { white-space: pre-line; }
.pt-req .pt-times { font-weight: 600; }

/* each questionnaire: its title and state, then every answer under a hairline, the question over its answer */
.pt-qhead { margin: 0; }
.pt-qhead + .pn-t { margin-bottom: 4px; }
.pt-card .pt-qhead ~ .pt-qhead { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--pn-line); }
.pt-answers { display: grid; gap: 0; margin: 8px 0 0; }
.pt-answer { display: grid; gap: 2px; padding: 8px 0; border-top: 1px solid var(--pn-line); }
.pt-answer dt { font-size: 12px; line-height: 1.4; color: var(--pn-muted); }
.pt-answer dd { margin: 0; font-size: 14px; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; }
@media (min-width: 720px) {
  .pt-answer { grid-template-columns: minmax(0, 14rem) minmax(0, 1fr); column-gap: 16px; align-items: baseline; }
}
