/* PNA Assessments — patient-facing checklist & embedded forms.
   Scoped under .pna-portal; system font stack by design (no third-party
   font requests from a clinical page). */

.pna-portal.pna-portal {
	--pna-ink: #22302e;
	--pna-muted: #5d6f6b;
	--pna-pine: #2f6d62;
	--pna-pine-dark: #245349;
	--pna-mist: #f3f7f5;
	--pna-line: #d9e3df;
	--pna-amber: #b45309;
	--pna-done: #1a7f37;
	max-width: 680px !important;
	margin: 0 auto !important;
	padding: 8px 16px 48px !important;
	color: var(--pna-ink) !important;
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
	line-height: 1.55 !important;
}.pna-portal.pna-portal * { box-sizing: border-box !important; }.pna-portal.pna-portal ul,
.pna-portal.pna-portal li { list-style: none !important; margin: 0 !important; padding: 0 !important; background: none !important; }.pna-portal.pna-portal h2,
.pna-portal.pna-portal h3,
.pna-portal.pna-portal p { font-family: inherit !important; text-transform: none !important; }.pna-portal.pna-portal a { box-shadow: none !important; border-bottom: none !important; }.pna-portal.pna-portal .pna-eyebrow {
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--pna-pine) !important;
	margin: 0 0 4px !important;
}.pna-portal.pna-portal h2 {
	font-size: clamp(24px, 5vw, 32px) !important;
	line-height: 1.15 !important;
	font-weight: 800 !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 6px !important;
	color: var(--pna-ink) !important;
}.pna-portal.pna-portal .pna-lede { margin: 0 0 20px !important; color: var(--pna-muted) !important; font-size: 16px !important; }.pna-portal.pna-portal /* Signature: segmented progress track — one segment per assessment. */
.pna-progress { margin: 0 0 28px !important; }.pna-portal.pna-portal .pna-progress-track { display: flex !important; gap: 5px !important; }.pna-portal.pna-portal .pna-progress-seg {
	flex: 1 !important;
	height: 8px !important;
	border-radius: 4px !important;
	background: var(--pna-line) !important;
}.pna-portal.pna-portal .pna-progress-seg.is-done { background: var(--pna-pine) !important; }.pna-portal.pna-portal .pna-progress-label {
	margin-top: 8px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--pna-muted) !important;
	font-variant-numeric: tabular-nums !important;
}.pna-portal.pna-portal .pna-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }.pna-portal.pna-portal .pna-card {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 14px !important;
	margin: 0 0 10px !important;
	padding: 16px 16px 16px 18px !important;
	background: #fff !important;
	border: 1px solid var(--pna-line) !important;
	border-left: 4px solid var(--pna-line) !important;
	border-radius: 10px !important;
}.pna-portal.pna-portal .pna-card.is-done { border-left-color: var(--pna-done) !important; background: var(--pna-mist) !important; }.pna-portal.pna-portal .pna-card.is-next { border-left-color: var(--pna-pine) !important; }.pna-portal.pna-portal .pna-card.is-locked { opacity: 0.55 !important; }.pna-portal.pna-portal .pna-card-title { font-weight: 700 !important; font-size: 16px !important; margin: 0 !important; }.pna-portal.pna-portal .pna-card-meta { margin: 2px 0 0 !important; font-size: 13px !important; color: var(--pna-muted) !important; }.pna-portal.pna-portal .pna-chip {
	display: inline-block !important;
	margin-left: 6px !important;
	padding: 1px 8px !important;
	border-radius: 999px !important;
	background: var(--pna-mist) !important;
	border: 1px solid var(--pna-line) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--pna-muted) !important;
}.pna-portal.pna-portal .pna-btn {
	display: inline-block !important;
	padding: 10px 20px !important;
	min-height: 44px !important;
	border-radius: 8px !important;
	background: var(--pna-pine) !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-decoration: none !important;
	border: 0 !important;
	white-space: nowrap !important;
}.pna-portal.pna-portal .pna-btn:hover { background: var(--pna-pine-dark) !important; }.pna-portal.pna-portal .pna-btn:focus-visible,
.pna-portal.pna-portal .pna-back:focus-visible { outline: 3px solid #7fb5aa !important; outline-offset: 2px !important; }.pna-portal.pna-portal .pna-done-mark { color: var(--pna-done) !important; font-weight: 700 !important; font-size: 14px !important; white-space: nowrap !important; }.pna-portal.pna-portal .pna-done-date { display: block !important; font-weight: 500 !important; font-size: 12px !important; color: var(--pna-muted) !important; }.pna-portal.pna-portal .pna-locked-mark { font-size: 13px !important; color: var(--pna-muted) !important; white-space: nowrap !important; }.pna-portal.pna-portal .pna-banner {
	display: flex !important;
	gap: 10px !important;
	align-items: flex-start !important;
	margin: 0 0 18px !important;
	padding: 12px 16px !important;
	border-radius: 10px !important;
	background: #eaf5ee !important;
	border: 1px solid #bfe0cb !important;
	color: #14532d !important;
	font-weight: 600 !important;
	font-size: 15px !important;
}.pna-portal.pna-portal .pna-allset {
	margin: 4px 0 24px !important;
	padding: 24px 20px !important;
	text-align: center !important;
	background: var(--pna-mist) !important;
	border: 1px solid var(--pna-line) !important;
	border-radius: 12px !important;
}.pna-portal.pna-portal .pna-allset-check {
	width: 48px !important; height: 48px !important;
	margin: 0 auto 10px !important;
	border-radius: 50% !important;
	background: var(--pna-done) !important;
	color: #fff !important;
	font-size: 26px !important;
	line-height: 48px !important;
	font-weight: 800 !important;
}.pna-portal.pna-portal .pna-allset h3 { margin: 0 0 4px !important; font-size: 20px !important; }.pna-portal.pna-portal .pna-allset p { margin: 0 !important; color: var(--pna-muted) !important; }.pna-portal.pna-portal /* Embedded form view */
.pna-portal.pna-portal .pna-back {
	display: inline-block !important;
	margin: 0 0 14px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	color: var(--pna-pine) !important;
	text-decoration: none !important;
}.pna-portal.pna-portal .pna-back:hover { text-decoration: underline !important; }.pna-portal.pna-portal .pna-form-head { margin: 0 0 18px !important; padding-bottom: 14px !important; border-bottom: 1px solid var(--pna-line) !important; }.pna-portal.pna-portal .pna-note {
	margin: 0 0 16px !important;
	padding: 10px 14px !important;
	border-radius: 8px !important;
	background: #fff8eb !important;
	border: 1px solid #f2d9a4 !important;
	color: var(--pna-amber) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}.pna-portal.pna-portal /* Light-touch Gravity Forms fit: readable labels,
.pna-portal.pna-portal roomy touch targets,
.pna-portal.pna-portal submit button matched to the portal. Deliberately minimal overrides. */
.pna-portal .gform_wrapper label,
.pna-portal.pna-portal .gform_wrapper legend { font-size: 15px !important; color: var(--pna-ink) !important; }.pna-portal.pna-portal .gform_wrapper .gfield { margin-bottom: 18px !important; }.pna-portal.pna-portal .gform_wrapper .gfield_radio label,
.pna-portal.pna-portal .gform_wrapper .gfield_checkbox label { min-height: 30px !important; padding: 4px 0 !important; }.pna-portal.pna-portal .gform_wrapper input[type="submit"],
.pna-portal.pna-portal .gform_wrapper .gform_next_button,
.pna-portal.pna-portal .gform_wrapper .gform_previous_button {
	padding: 12px 24px !important;
	min-height: 44px !important;
	border-radius: 8px !important;
	background: var(--pna-pine) !important;
	color: #fff !important;
	font-weight: 700 !important;
	border: 0 !important;
	cursor: pointer !important;
}.pna-portal.pna-portal .gform_wrapper input[type="submit"]:hover { background: var(--pna-pine-dark) !important; }.pna-portal.pna-portal .gform_wrapper .gform_previous_button { background: #fff !important; color: var(--pna-pine) !important; border: 1px solid var(--pna-line) !important; }

@media (max-width: 480px) {
	.pna-card { flex-direction: column !important; align-items: stretch !important; }.pna-portal.pna-portal .pna-btn { text-align: center !important; width: 100% !important; }.pna-portal.pna-portal .pna-done-mark { white-space: normal !important; }
}
@media (prefers-reduced-motion: no-preference) {
	.pna-progress-seg { transition: background-color 300ms ease !important; }.pna-portal.pna-portal .pna-btn { transition: background-color 150ms ease !important; }
}.pna-portal.pna-portal /* ---- Avada (Fusion) compatibility ----------------------------------------
   Avada styles anchors,
.pna-portal.pna-portal visited links,
.pna-portal.pna-portal and Gravity Forms buttons (including
   the `.button` class GF adds) via .fusion-body chains,
.pna-portal.pna-portal sometimes with
   !important. Selectors below match or exceed that specificity. */
.pna-portal.pna-portal a,
.pna-portal.pna-portal a:visited {
	background-image: none !important;
	text-decoration: none !important;
}.pna-portal.pna-portal a.pna-btn,
.pna-portal.pna-portal a.pna-btn:visited,
.pna-portal.pna-portal a.pna-btn:hover,
.pna-portal.pna-portal a.pna-btn:focus {
	color: #fff !important;
	border-bottom: 0 !important;
}.pna-portal.pna-portal a.pna-back,
.pna-portal.pna-portal a.pna-back:visited {
	color: var(--pna-pine) !important;
}.pna-portal.pna-portal .gform_wrapper input[type="submit"].button,
.pna-portal.pna-portal .gform_wrapper .gform_button.button,
.pna-portal.pna-portal .gform_wrapper .gform_next_button.button,
.pna-portal.pna-portal .gform_wrapper button.gform_button {
	padding: 12px 24px !important;
	min-height: 44px !important;
	border-radius: 8px !important;
	background: var(--pna-pine) !important;
	background-image: none !important;
	color: #fff !important;
	font-weight: 700 !important;
	border: 0 !important;
	text-shadow: none !important;
	box-shadow: none !important;
}.pna-portal.pna-portal .gform_wrapper input[type="submit"].button:hover,
.pna-portal.pna-portal .gform_wrapper .gform_button.button:hover {
	background: var(--pna-pine-dark) !important;
}.pna-portal.pna-portal .gform_wrapper .gform_previous_button.button {
	background: #fff !important;
	color: var(--pna-pine) !important;
	border: 1px solid var(--pna-line) !important;
}
