/* Reference Nexus · portal.css: the client portal and the queue, on top of site.css and tokens.css.
   Chambers: bone and ink, brass as the node only. Phone first. No colours outside the tokens. */

.portal-bar { background: var(--rn-color-surface); border-bottom: var(--rn-rule); }
.portal-bar-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--rn-space-2) var(--rn-space-5); min-height: var(--rn-control-height); padding-block: var(--rn-space-2); }
.portal-bar-name { font: var(--rn-weight-medium) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); letter-spacing: var(--rn-tracking-label); color: var(--rn-color-text-muted); }
.portal-bar-links { display: flex; align-items: center; gap: var(--rn-space-5); }
.portal-bar-links a, .portal-link { font: var(--rn-weight-medium) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); color: var(--rn-color-link); text-decoration: underline; text-underline-offset: 0.2em; background: none; border: 0; padding: 0; cursor: pointer; min-height: var(--rn-target-min-inline); }
.portal-inline-form { display: inline; margin: 0; }

.portal-main { padding-block: var(--rn-space-7) var(--rn-space-9); max-width: min(calc(100% - 2 * var(--rn-gutter)), 46rem); }
.portal-wide { max-width: min(calc(100% - 2 * var(--rn-gutter)), var(--rn-max)); }
.portal-head { margin-bottom: var(--rn-space-6); }
.portal-head .rn-lead { margin-top: var(--rn-space-3); color: var(--rn-color-text-muted); max-width: var(--rn-measure); }
.portal-form { max-width: 34rem; }
.portal-form + .field { margin-top: var(--rn-space-5); max-width: 34rem; }
.portal-quiet-link { font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); color: var(--rn-color-link); align-self: center; }
.portal-summary { margin-bottom: var(--rn-space-2); }

.p-rn { font: var(--rn-weight-regular) var(--rn-font-size-sm)/1 var(--rn-font-mono); color: var(--rn-color-text-muted); letter-spacing: var(--rn-tracking-label); margin-left: var(--rn-space-2); white-space: nowrap; }
.p-muted { color: var(--rn-color-text-muted); }
.p-when { font-size: var(--rn-font-size-xs); white-space: nowrap; }
.p-reply-by { margin: var(--rn-space-4) 0 var(--rn-space-6); font: var(--rn-weight-regular) var(--rn-font-size-base)/var(--rn-lh-base) var(--rn-font-text); color: var(--rn-color-text-muted); }
.p-reply-by strong { color: var(--rn-color-text); font-weight: var(--rn-weight-medium); }

.p-card { margin-block: var(--rn-space-6); padding: var(--rn-space-5) var(--rn-space-5) var(--rn-space-6); background: var(--rn-color-surface); border-top: var(--rn-rule-strong); }
.p-card-title { margin: 0 0 var(--rn-space-4); font: var(--rn-weight-regular) var(--rn-font-size-xl)/var(--rn-lh-xl) var(--rn-font-display); }
.p-card-due { border-top-color: var(--rn-color-border-strong); }
.p-due li { padding-block: var(--rn-space-2); font: var(--rn-weight-medium) var(--rn-font-size-base)/var(--rn-lh-base) var(--rn-font-text); }
.p-due li::before { content: ''; display: inline-block; width: var(--rn-node); height: var(--rn-node); border-radius: 50%; background: var(--rn-color-node); margin-right: var(--rn-space-3); vertical-align: middle; }
.p-items li, .p-notes li { padding-block: var(--rn-space-3); border-bottom: var(--rn-rule); font: var(--rn-weight-regular) var(--rn-font-size-base)/var(--rn-lh-base) var(--rn-font-text); }
.p-items li:last-child, .p-notes li:last-child { border-bottom: 0; }

/* The stepper */
.p-stepper { display: grid; gap: 0; margin: 0; padding: 0; }
.p-step { display: grid; grid-template-columns: 2.25rem 1fr; gap: var(--rn-space-4); padding-block: var(--rn-space-4); border-bottom: var(--rn-rule); position: relative; }
.p-step:last-child { border-bottom: 0; }
.p-step-marker { display: flex; align-items: flex-start; justify-content: center; }
.p-step-marker span { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; box-shadow: inset 0 0 0 var(--rn-hairline) var(--rn-color-border-strong); font: var(--rn-weight-medium) var(--rn-font-size-sm)/1 var(--rn-font-mono); color: var(--rn-color-text-muted); background: var(--rn-color-bg); }
.p-step-done .p-step-marker span { background: var(--rn-color-text); color: var(--rn-color-on-ink); box-shadow: none; }
.p-step-current .p-step-marker span { color: var(--rn-color-text); box-shadow: inset 0 0 0 2px var(--rn-color-text); }
.p-step-current .p-step-marker span::after { content: ''; position: absolute; width: var(--rn-node); height: var(--rn-node); border-radius: 50%; background: var(--rn-color-node); transform: translate(0.9rem, -0.9rem); }
.p-step-todo .p-step-title, .p-step-todo .p-step-desc { color: var(--rn-color-text-muted); }
.p-step-title { font: var(--rn-weight-medium) var(--rn-font-size-base)/var(--rn-lh-base) var(--rn-font-text); display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--rn-space-2) var(--rn-space-3); }
.p-step-desc { margin: var(--rn-space-1) 0 0; font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); max-width: var(--rn-measure); }
.p-step-todo .p-step-desc { display: none; }
@media (min-width: 48em) { .p-step-todo .p-step-desc { display: block; } }

.p-badge { display: inline-block; padding: 0.15em 0.6em; border-radius: var(--rn-radius-1); font: var(--rn-weight-medium) var(--rn-font-size-xs)/1.4 var(--rn-font-text); letter-spacing: var(--rn-tracking-label); text-transform: uppercase; color: var(--rn-color-text-muted); box-shadow: inset 0 0 0 var(--rn-hairline) var(--rn-color-border-strong); white-space: nowrap; }
.p-badge-done { color: var(--rn-color-feedback-success-text); background: var(--rn-color-feedback-success-bg); box-shadow: none; }
.p-badge-current { color: var(--rn-color-on-ink); background: var(--rn-color-text); box-shadow: none; }

/* The queue */
.p-tabs { margin-bottom: var(--rn-space-6); border-bottom: var(--rn-rule-strong); overflow-x: auto; }
.p-tabs ul { display: flex; gap: var(--rn-space-1); margin: 0; padding: 0; list-style: none; }
.p-tabs a { display: inline-flex; align-items: center; gap: var(--rn-space-2); min-height: var(--rn-control-height); padding: var(--rn-space-2) var(--rn-space-4); font: var(--rn-weight-medium) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); color: var(--rn-color-text-muted); text-decoration: none; white-space: nowrap; border-bottom: 3px solid transparent; }
.p-tabs a[aria-current="page"] { color: var(--rn-color-text); border-bottom-color: var(--rn-color-text); }
.p-count { display: inline-flex; min-width: 1.5em; justify-content: center; padding: 0 0.4em; border-radius: var(--rn-radius-1); background: var(--rn-color-text); color: var(--rn-color-on-ink); font: var(--rn-weight-medium) var(--rn-font-size-xs)/1.6 var(--rn-font-mono); }
.p-table-wrap { overflow-x: auto; margin-block: var(--rn-space-4); }
.p-table { width: 100%; border-collapse: collapse; font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); }
.p-table th { text-align: left; padding: var(--rn-space-2) var(--rn-space-3); border-bottom: var(--rn-rule-strong); font-weight: var(--rn-weight-medium); letter-spacing: var(--rn-tracking-label); font-size: var(--rn-font-size-xs); text-transform: uppercase; color: var(--rn-color-text-muted); }
.p-table td { padding: var(--rn-space-3); border-bottom: var(--rn-rule); vertical-align: top; }
.p-row { padding: var(--rn-space-5); margin-block: var(--rn-space-5); background: var(--rn-color-surface); border-top: var(--rn-rule-strong); }
.p-row-head { margin-bottom: var(--rn-space-4); }
.p-row-title { margin: 0 0 var(--rn-space-1); font: var(--rn-weight-regular) var(--rn-font-size-lg)/var(--rn-lh-lg) var(--rn-font-display); }
.p-row-title .p-muted { font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); }
.p-quote { margin: 0 0 var(--rn-space-4); padding-left: var(--rn-space-4); border-left: var(--rn-rule-strong); font: var(--rn-weight-regular) var(--rn-font-size-base)/var(--rn-lh-base) var(--rn-font-text); white-space: pre-wrap; max-width: var(--rn-measure); }
.p-decision .form-actions { flex-wrap: wrap; }
.p-actions { display: block; margin-block: var(--rn-space-4); }
.p-pre { white-space: pre-wrap; font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); padding: var(--rn-space-5); background: var(--rn-color-surface); border-top: var(--rn-rule-strong); max-width: var(--rn-measure); }
.notice-success { border-left-color: var(--rn-color-feedback-success-text); background: var(--rn-color-feedback-success-bg); }
.notice-text p { margin: 0; }
.notice-text p + p { margin-top: var(--rn-space-2); }

/* Agreements */
.p-agreement { max-height: 28rem; overflow: auto; }
.p-check { display: flex; gap: var(--rn-space-3); align-items: flex-start; font: var(--rn-weight-regular) var(--rn-font-size-base)/var(--rn-lh-base) var(--rn-font-text); }
.p-check input { width: 1.25rem; height: 1.25rem; margin-top: 0.2rem; flex-shrink: 0; accent-color: var(--rn-color-text); }

/* The fee sheet and the choice of a first step (chunk 3) */
.p-fees { margin: var(--rn-space-4) 0 0; padding: 0; list-style: none; }
.p-fee-item { padding-block: var(--rn-space-4); border-bottom: var(--rn-rule); }
.p-fee-item:last-child { border-bottom: 0; }
.p-fee-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--rn-space-2) var(--rn-space-4); font: var(--rn-weight-regular) var(--rn-font-size-base)/var(--rn-lh-base) var(--rn-font-text); }
.p-fee { font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-mono); color: var(--rn-color-text-muted); font-variant-numeric: tabular-nums; }
.p-fee-desc { margin: var(--rn-space-2) 0 0; font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); max-width: var(--rn-measure); }
.p-terms-title { margin: var(--rn-space-5) 0 var(--rn-space-2); font: var(--rn-weight-medium) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); }
.p-terms { margin: 0; padding: 0; list-style: none; }
.p-terms li { padding-block: var(--rn-space-2); border-bottom: var(--rn-rule); font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); max-width: var(--rn-measure); }
.p-terms li:last-child { border-bottom: 0; }
.p-terms li::before { content: ''; display: inline-block; width: var(--rn-node); height: var(--rn-node); border-radius: 50%; background: var(--rn-color-node); margin-right: var(--rn-space-3); vertical-align: middle; }
.p-card-placeholder { border-top-style: dashed; }
.p-choose { max-width: none; }
.p-choices { margin: 0; padding: 0; list-style: none; }
.p-choice { padding-block: var(--rn-space-4); border-bottom: var(--rn-rule); }
.p-choice:last-child { border-bottom: 0; }
.p-choice-main { align-items: flex-start; }
.p-choice-main input { margin-top: 0.25rem; }
.p-choice-main > span { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--rn-space-2) var(--rn-space-4); }
.p-choice-desc { margin: var(--rn-space-2) 0 0 calc(var(--rn-space-5) + var(--rn-space-3)); font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); max-width: var(--rn-measure); }
.p-variants { margin: var(--rn-space-3) 0 0 calc(var(--rn-space-5) + var(--rn-space-3)); max-width: 34rem; }
.p-variants .choices { gap: var(--rn-space-1); }
.p-variants .choice { align-items: flex-start; min-height: 0; padding-block: var(--rn-space-1); }
.p-variants .choice input { margin-top: 0.2rem; }
.p-change { display: block; margin-top: var(--rn-space-5); }

/* The invoice */
.p-invoice-amount { margin: 0 0 var(--rn-space-2); font: var(--rn-weight-regular) var(--rn-font-size-2xl)/var(--rn-lh-xl) var(--rn-font-display); font-variant-numeric: tabular-nums; }

/* A button that is not open yet (Payment received before the letter is signed; Send now without email) */
.btn[disabled], .btn[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; }

/* The queue: Awaiting payment rows, notes */
.p-pay-chosen { margin: 0 0 var(--rn-space-2); font: var(--rn-weight-regular) var(--rn-font-size-base)/var(--rn-lh-base) var(--rn-font-text); }
.p-note { font: var(--rn-weight-medium) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); color: var(--rn-color-text); }
.p-note::before { content: ''; display: inline-block; width: var(--rn-node); height: var(--rn-node); border-radius: 50%; background: var(--rn-color-node); margin-right: var(--rn-space-2); vertical-align: middle; }

/* The intake (chunk 4): the progress list beside the section on wide screens, under it on phones */
.p-intake { display: grid; gap: var(--rn-space-6); align-items: start; }
@media (min-width: 56em) { .p-intake { grid-template-columns: 16rem minmax(0, 1fr); gap: var(--rn-space-7); } .p-progress { position: sticky; top: var(--rn-space-5); } }
.p-progress ol { margin: 0; padding: 0; list-style: none; border-top: var(--rn-rule-strong); }
.p-progress li { display: grid; gap: 0.1rem; padding: var(--rn-space-2) 0; border-bottom: var(--rn-rule); }
.p-progress a { display: flex; align-items: baseline; gap: var(--rn-space-2); font: var(--rn-weight-medium) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); color: var(--rn-color-text); text-decoration: none; min-height: var(--rn-target-min-inline); }
.p-progress a:hover, .p-progress a:focus-visible { text-decoration: underline; text-underline-offset: 0.2em; }
.p-progress .is-current a { color: var(--rn-color-text); }
.p-progress .is-current { border-left: 3px solid var(--rn-color-text); padding-left: var(--rn-space-3); margin-left: calc(-1 * (var(--rn-space-3) + 3px)); }
.p-progress-mark { display: inline-flex; align-items: center; justify-content: center; width: 1.35rem; height: 1.35rem; border-radius: 50%; box-shadow: inset 0 0 0 var(--rn-hairline) var(--rn-color-border-strong); font: var(--rn-weight-medium) var(--rn-font-size-xs)/1 var(--rn-font-mono); color: var(--rn-color-text-muted); flex: none; align-self: center; }
.p-progress-done .p-progress-mark { background: var(--rn-color-text); color: var(--rn-color-on-ink); box-shadow: none; }
.p-progress-partial .p-progress-mark { box-shadow: inset 0 0 0 2px var(--rn-color-text); color: var(--rn-color-text); }
.p-progress-live .p-progress-mark::before { content: ''; width: var(--rn-node); height: var(--rn-node); border-radius: 50%; background: var(--rn-color-node); }
.p-progress-key { font: var(--rn-weight-regular) var(--rn-font-size-xs)/1 var(--rn-font-mono); color: var(--rn-color-text-muted); }
.p-progress-detail { font: var(--rn-weight-regular) var(--rn-font-size-xs)/var(--rn-lh-sm) var(--rn-font-text); color: var(--rn-color-text-muted); padding-left: calc(1.35rem + var(--rn-space-2)); }
.p-intake-main .portal-form { max-width: none; }
.p-section-form .field { max-width: 40rem; }
.p-plan-note { margin: 0 0 var(--rn-space-5); padding: var(--rn-space-3) var(--rn-space-4); border-left: 3px solid var(--rn-color-text); font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); max-width: var(--rn-measure); }
.p-narrative { margin-bottom: var(--rn-space-6); max-width: var(--rn-measure); }
.p-narrative-prompt { margin: 0 0 var(--rn-space-3); font: var(--rn-weight-regular) var(--rn-font-size-lg)/var(--rn-lh-lg) var(--rn-font-display); }
.p-narrative-title { margin: var(--rn-space-4) 0 var(--rn-space-1); font: var(--rn-weight-medium) var(--rn-font-size-xs)/var(--rn-lh-sm) var(--rn-font-text); letter-spacing: var(--rn-tracking-label); text-transform: uppercase; color: var(--rn-color-text-muted); }
.p-narrative-list { margin: 0; padding: 0; list-style: none; }
.p-narrative-list li { padding: var(--rn-space-1) 0; font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); }
.p-narrative-list li::before { content: ''; display: inline-block; width: var(--rn-node); height: var(--rn-node); border-radius: 50%; background: var(--rn-color-node); margin-right: var(--rn-space-3); vertical-align: middle; }
.p-save-status { margin: var(--rn-space-2) 0 0; font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); min-height: 1.5em; }
.p-save-status.is-bad { color: var(--rn-color-feedback-error-text); font-weight: var(--rn-weight-medium); }
.p-systems td { padding: var(--rn-space-1); min-width: 9rem; }
.p-systems th[scope="row"] { font: var(--rn-weight-regular) var(--rn-font-size-xs)/1 var(--rn-font-mono); color: var(--rn-color-text-muted); vertical-align: middle; padding: var(--rn-space-1) var(--rn-space-2); }
.p-systems td.is-error { border-left: 3px solid var(--rn-color-feedback-error-border); }
.p-systems .input { min-height: calc(var(--rn-control-height) - var(--rn-space-2)); }
.p-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.p-none-form { margin-top: var(--rn-space-6); padding-top: var(--rn-space-5); border-top: var(--rn-rule); }
.p-link { display: inline-block; padding: var(--rn-space-2) var(--rn-space-3); background: var(--rn-color-bg); border: var(--rn-rule-control); border-radius: var(--rn-radius-1); font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-mono); word-break: break-all; user-select: all; }
.p-answers { margin: 0; display: grid; gap: var(--rn-space-3); }
.p-answers dt { font: var(--rn-weight-medium) var(--rn-font-size-xs)/var(--rn-lh-sm) var(--rn-font-text); letter-spacing: var(--rn-tracking-label); text-transform: uppercase; color: var(--rn-color-text-muted); }
.p-answers dd { margin: var(--rn-space-1) 0 0; font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); max-width: var(--rn-measure); }

/* Access rows */
.p-access-row .p-row-title { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rn-space-3); }
.p-steps { margin: var(--rn-space-3) 0 var(--rn-space-4); max-width: var(--rn-measure); }
.p-steps summary { cursor: pointer; font: var(--rn-weight-medium) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); min-height: var(--rn-target-min-inline); display: inline-flex; align-items: center; }
.p-steps-list { margin: var(--rn-space-2) 0 0; padding-left: var(--rn-space-5); font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); }
.p-steps-list li { padding-block: var(--rn-space-1); }

/* Intake on a phone: on a section page the form comes first, the section list after it */
.p-section-back { margin: 0 0 var(--rn-space-5); font: var(--rn-weight-medium) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); }
.p-intake-section .p-progress { order: 2; }
@media (min-width: 56em) { .p-intake-section .p-progress { order: 0; } .p-section-back { display: none; } }
.p-intake-main > .notice, .p-intake-main > .portal-summary { margin-bottom: var(--rn-space-5); }

/* Stages 6 to 8 (chunk 5): timers, updates, documents, the questions thread, the decision */
.p-timers { margin: 0; display: grid; gap: 0; }
.p-timer { padding-block: var(--rn-space-3); border-bottom: var(--rn-rule); }
.p-timer:last-child { border-bottom: 0; }
.p-timer dt { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--rn-space-2) var(--rn-space-4); font: var(--rn-weight-medium) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); }
.p-timer dd { margin: var(--rn-space-1) 0 0; font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); max-width: var(--rn-measure); }
.p-timer-left { font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-mono); color: var(--rn-color-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.p-timer-date { font-family: var(--rn-font-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.p-timers-compact { margin: 0 0 var(--rn-space-4); max-width: var(--rn-measure); }
.p-timers-compact .p-timer { padding-block: var(--rn-space-2); }

.p-update { margin-block: var(--rn-space-6); padding: var(--rn-space-5); background: var(--rn-color-surface); border-top: var(--rn-rule-strong); }
.p-update-head { margin-bottom: var(--rn-space-4); }
.p-update-title { margin: 0 0 var(--rn-space-1); font: var(--rn-weight-regular) var(--rn-font-size-xl)/var(--rn-lh-xl) var(--rn-font-display); }
.p-new { font-weight: var(--rn-weight-medium); color: var(--rn-color-text); }
.p-prose { max-width: var(--rn-measure); font: var(--rn-weight-regular) var(--rn-font-size-base)/var(--rn-lh-base) var(--rn-font-text); }
.p-prose p + p { margin-top: var(--rn-space-3); }
.p-doclist { margin: 0; padding: 0; list-style: none; }
.p-doclist li { padding-block: var(--rn-space-2); border-bottom: var(--rn-rule); font: var(--rn-weight-regular) var(--rn-font-size-base)/var(--rn-lh-base) var(--rn-font-text); }
.p-doclist li:last-child { border-bottom: 0; }
.p-doclist .p-muted { font-size: var(--rn-font-size-sm); }
.p-hash { font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-mono); word-break: break-all; }

.p-thread { margin: 0 0 var(--rn-space-6); padding: 0; list-style: none; border-top: var(--rn-rule-strong); }
.p-q { padding-block: var(--rn-space-5); border-bottom: var(--rn-rule); }
.p-q-who { margin: 0 0 var(--rn-space-2); font: var(--rn-weight-medium) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); }
.p-q-answer { margin-top: var(--rn-space-4); padding-left: var(--rn-space-4); border-left: 3px solid var(--rn-color-text); }
.p-q-wait { margin: var(--rn-space-3) 0 0; font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-text); }
.p-ask { max-width: 40rem; }
.p-decline { margin-top: var(--rn-space-6); padding-top: var(--rn-space-5); border-top: var(--rn-rule); }
.p-publish { margin-top: var(--rn-space-6); padding-top: var(--rn-space-5); border-top: var(--rn-rule); }
.p-refund-ask { margin-block: var(--rn-space-4); }
.p-subhead { margin-top: var(--rn-space-7); }
.p-card > .portal-inline-form { display: block; margin-top: var(--rn-space-4); }
.p-ask { margin-bottom: var(--rn-space-6); }

/* Journeys, timeline, funnel (chunk 6): counts in mono, right-aligned; event names as filed things */
.p-num { font-family: var(--rn-font-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.p-table td.p-num { text-align: right; }
.p-event { font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm) var(--rn-font-mono); white-space: nowrap; }
.p-funnel { max-width: 40rem; }
.p-funnel-source th { white-space: normal; min-width: 6rem; }
.p-events { margin: 0; padding: 0; list-style: none; }
.p-events li { padding-block: var(--rn-space-2); border-bottom: var(--rn-rule); font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); overflow-wrap: anywhere; }
.p-events li:last-child { border-bottom: 0; }
.p-event-who { font-weight: var(--rn-weight-medium); }
/* The queue has many tabs: on wide screens they wrap onto a second line so none hides off to the right */
@media (min-width: 48em) { .p-tabs { overflow-x: visible; } .p-tabs ul { flex-wrap: wrap; } }
.portal-wide > .notice { margin-bottom: var(--rn-space-5); }

/* Preview mode (strategy/21): the bar says it is a preview and when it ends; "Sample" is marked where it applies;
   the preview card on the overview carries "Show the next step"; the staff view has a thin banner. */
.portal-bar-ends { margin-left: var(--rn-space-3); padding: 0.1em 0.55em; border-radius: var(--rn-radius-1); box-shadow: inset 0 0 0 var(--rn-hairline) var(--rn-color-border-strong); color: var(--rn-color-text); font: var(--rn-weight-medium) var(--rn-font-size-xs)/1.5 var(--rn-font-text); white-space: nowrap; }
.portal-bar-preview .portal-bar-links { flex-wrap: wrap; gap: var(--rn-space-2) var(--rn-space-5); }
.p-badge-sample { color: var(--rn-color-text); box-shadow: inset 0 0 0 var(--rn-hairline) var(--rn-color-node); }
.p-preview-card { border-top-width: 3px; }
.p-preview-next { max-width: none; margin-block: var(--rn-space-4); }
.p-preview-next p { margin: 0 0 var(--rn-space-3); max-width: var(--rn-measure); }
.p-preview-links { margin-top: var(--rn-space-4); font: var(--rn-weight-medium) var(--rn-font-size-base)/var(--rn-lh-base) var(--rn-font-text); }
.p-preview-how { margin-bottom: var(--rn-space-6); max-width: var(--rn-measure); }
.p-staff-banner { margin-bottom: var(--rn-space-5); padding: var(--rn-space-3) var(--rn-space-4); border-left: 3px solid var(--rn-color-node); background: var(--rn-color-surface); font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); }
.p-staff-banner p { margin: 0; }
.p-preview-row .form-actions { flex-wrap: wrap; }
.p-welcome { max-width: 40rem; margin-top: var(--rn-space-5); }
.p-preview-how + .notice { margin-bottom: var(--rn-space-5); }
/* "New here?" on the sign-in page: two doors, the preview and the private inquiry */
.p-doors { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--rn-space-3); }
@media (min-width: 48em) { .p-doors { grid-template-columns: 1fr 1fr; } }
.p-door { display: flex; flex-direction: column; gap: var(--rn-space-2); height: 100%; padding: var(--rn-space-4) var(--rn-space-5); box-shadow: inset 0 0 0 var(--rn-hairline) var(--rn-color-border-strong); color: var(--rn-color-text); text-decoration: none; font: var(--rn-weight-regular) var(--rn-font-size-sm)/var(--rn-lh-sm-prose) var(--rn-font-text); }
.p-door strong { font: var(--rn-weight-medium) var(--rn-font-size-base)/var(--rn-lh-base) var(--rn-font-text); text-decoration: underline; text-underline-offset: 0.2em; }
.p-door:hover { box-shadow: inset 0 0 0 2px var(--rn-color-border-strong); }
.p-door:focus-visible { outline: var(--rn-focus-width) solid var(--rn-color-focus); outline-offset: var(--rn-focus-offset); }
