/*
 * Param shared design tokens and accessibility baseline.
 * Target: WordPress 6.0+, PHP 8.0+, modern evergreen browsers.
 */
:root {
	--param-color-primary: #648e50;
	--param-color-primary-medium: #729b58;
	--param-color-primary-light: #9fc583;
	--param-color-primary-hover: #587b45;
	--param-color-primary-soft: #eef5e9;
	--param-color-accent: #d96f43;
	--param-color-accent-ink: #8f3f20;
	--param-color-accent-hover: #743118;
	--param-color-accent-soft: #fff1e9;
	--param-color-accent-border: #efbfa8;
	--param-color-danger: #9b342c;
	--param-color-success: #426f36;
	--param-color-text: #282822;
	--param-color-muted: #53574f;
	--param-color-subtle: #5f635b;
	--param-color-border: #d9ddd3;
	--param-color-border-strong: #c8dbc0;
	--param-color-background: #fffcf9;
	--param-color-surface: #fffdfa;
	--param-color-surface-raised: #fff;
	--param-color-surface-soft: #f4f8f0;
	--param-color-surface-muted: #fbfcfa;
	--param-color-on-primary: #fff;
	--param-color-danger-soft: #fff0ed;
	--param-color-success-soft: #edf6e8;
	--param-focus-ring: 0 0 0 4px rgb(100 142 80 / 24%);
	--param-touch-target: 2.75rem;
	--param-action-icon-size: 1.5rem;
	--param-radius-sm: .7rem;
	--param-radius-md: 1rem;
	--param-radius-lg: 1.35rem;
	--param-radius-xl: 1.5rem;
	--param-radius-pill: 99px;
	--param-shadow-sm: 0 .35rem 1.2rem rgb(72 92 61 / 5%);
	--param-shadow-card: 0 .7rem 2rem rgb(72 92 61 / 7%);
	--param-shadow-card-hover: 0 1rem 2.5rem rgb(72 92 61 / 11%);
	--param-transition-fast: .18s ease;
	--param-transition-base: .2s ease;
	--param-text-xs: .8125rem;
	--param-text-sm: .875rem;
	--param-text-md: 1rem;
	--param-text-base: 1rem;
	--param-line-height: 1.8;
}

/*
 * Administration dashboard theme contract.
 * Role styles consume these aliases; colors, radii, elevation and motion stay
 * owned by this shared design-system file instead of drifting per dashboard.
 */
.param-dashboard--admin {
	--param-management-bg: var(--param-color-background);
	--param-management-surface: var(--param-color-surface);
	--param-management-surface-raised: var(--param-color-surface-raised);
	--param-management-surface-soft: var(--param-color-surface-soft);
	--param-management-ink: var(--param-color-text);
	--param-management-muted: var(--param-color-muted);
	--param-management-border: var(--param-color-border);
	--param-management-border-strong: var(--param-color-border-strong);
	--param-management-primary: var(--param-color-primary);
	--param-management-primary-dark: var(--param-color-primary-hover);
	--param-management-primary-soft: var(--param-color-primary-soft);
	--param-management-accent: var(--param-color-accent);
	--param-management-accent-ink: var(--param-color-accent-ink);
	--param-management-accent-soft: var(--param-color-accent-soft);
	--param-management-danger: var(--param-color-danger);
	--param-management-radius: var(--param-radius-xl);
	--param-management-shadow: var(--param-shadow-card);
	--param-management-shadow-hover: var(--param-shadow-card-hover);
	--param-accent: var(--param-color-primary);
	--param-soft: var(--param-color-primary-soft);
}

.param-dashboard--admin .param-dashboard-content {
	color: var(--param-color-text);
	background: var(--param-color-background);
}

.param-dashboard--admin :where(
	.param-stat-card,
	.param-today-panel,
	.param-widget,
	.param-role-editor,
	.param-audit-list,
	.param-review-card,
	.param-therapist-management-card,
	.param-admin-account-settings > section,
	.param-avatar-settings,
	.param-security-card,
	.param-audit-filters,
	.param-audit-export
) {
	border-color: var(--param-color-border);
	background-color: var(--param-color-surface);
	box-shadow: var(--param-shadow-card);
}

.param-dashboard--admin :where(
	input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="range"]):not([type="color"]):not([type="file"]),
	select,
	textarea
) {
	box-sizing: border-box;
	min-height: var(--param-touch-target);
	border: 1px solid var(--param-color-border);
	border-radius: var(--param-radius-sm);
	color: var(--param-color-text);
	background-color: var(--param-color-surface-raised);
	font: inherit;
	transition: border-color var(--param-transition-fast), box-shadow var(--param-transition-fast), background-color var(--param-transition-fast);
}

.param-dashboard--admin :where(input, select, textarea)::placeholder {
	color: var(--param-color-subtle);
	opacity: .82;
}

.param-dashboard--admin :where(input, select, textarea):disabled {
	color: var(--param-color-subtle);
	background: var(--param-color-surface-soft);
	cursor: not-allowed;
}

.param-dashboard--admin :where(
	button,
	.button,
	.param-panel-link,
	.param-pagination a,
	.param-managed-therapist-nav a,
	.param-managed-therapist-banner > a
) {
	border-radius: var(--param-radius-sm);
	transition: color var(--param-transition-fast), background-color var(--param-transition-fast), border-color var(--param-transition-fast), box-shadow var(--param-transition-fast);
}

.param-dashboard--admin :where(
	.param-admin-activity > header > span,
	.param-section-heading > span,
	.param-user-role-badges > span
) {
	border-radius: var(--param-radius-pill);
	color: var(--param-color-primary-hover);
	background: var(--param-color-primary-soft);
}

.param-dashboard--admin :where(
	.param-managed-therapist-banner__identity small,
	.param-managed-therapist-banner__identity span,
	.param-managed-therapist-banner > a,
	.param-managed-therapist-nav a,
	.param-managed-therapist-note,
	.param-card-label strong,
	.param-panel-link,
	.param-section-heading p,
	.param-audit-item__meta,
	.param-audit-item__time,
	.param-quick-widget a > span,
	.param-user-card__email,
	.param-user-card__meta,
	.param-user-role-badges > span
) {
	font-size: var(--param-text-sm);
	line-height: 1.65;
}

.param-dashboard--admin :where(
	.param-dashboard-view-heading,
	.param-managed-therapist-banner,
	.param-managed-therapist-nav,
	.param-role-targets,
	.param-role-reason,
	.param-value-compare section,
	.param-audit-evidence dl
) {
	border-color: var(--param-color-border);
	background-color: var(--param-color-surface);
}

.param-dashboard--admin :where(
	.param-role-submit,
	.param-audit-filters button,
	.param-audit-export button
) {
	border: 1px solid var(--param-color-primary);
	color: var(--param-color-on-primary);
	background: var(--param-color-primary);
	font-weight: 700;
}

.param-dashboard--admin :where(
	.param-role-submit,
	.param-audit-filters button,
	.param-audit-export button
):hover {
	border-color: var(--param-color-primary-hover);
	background: var(--param-color-primary-hover);
}

.param-dashboard--admin .param-managed-therapist-nav a[aria-current="page"] {
	border-color: var(--param-color-primary);
	color: var(--param-color-on-primary);
	background: var(--param-color-primary);
}

.param-dashboard--admin :where(.param-stat-card, .param-quick-widget a, .param-role-user-card, .param-review-card):hover {
	border-color: var(--param-color-border-strong);
	box-shadow: var(--param-shadow-card-hover);
}

.param-dashboard--admin :where(.param-stat-card.has-attention, .param-audit-item.is-warning .param-audit-item__marker) {
	border-color: var(--param-color-accent-border);
}

.param-dashboard--admin .param-audit-item.is-success .param-audit-item__marker {
	background: var(--param-color-success);
	box-shadow: 0 0 0 .28rem var(--param-color-success-soft);
}

.param-dashboard--admin .param-audit-item.is-danger .param-audit-item__marker {
	background: var(--param-color-danger);
	box-shadow: 0 0 0 .28rem var(--param-color-danger-soft);
}

/* Shared action, feedback and navigation components. */
.param-dashboard .param-dashboard-identity span {
	color: var(--param-color-muted);
}

.param-nav-group {
	display: block;
	margin: .7rem .7rem .15rem;
	color: var(--param-color-muted);
	font-size: var(--param-text-xs);
	font-weight: 700;
}

.param-nav-badge,
.param-mobile-primary-nav b {
	display: inline-grid;
	min-width: 1.35rem;
	height: 1.35rem;
	margin-inline-start: auto;
	padding-inline: .25rem;
	border-radius: 99px;
	color: #fff;
	background: var(--param-color-accent-ink);
	font-size: .75rem;
	line-height: 1;
	place-items: center;
}

.param-field-error {
	display: block;
	width: 100%;
	margin-top: .35rem;
	color: var(--param-color-danger);
	font-size: var(--param-text-xs);
	font-weight: 650;
}

.param-field-error[hidden] { display: none; }
:is(.param-dashboard,.param-view,.param-settings,.param-survey-shell,.param-security-shell) :where(input,select,textarea)[aria-invalid="true"] {
	border-color: var(--param-color-danger) !important;
	box-shadow: 0 0 0 3px rgb(155 52 44 / 14%) !important;
}

.param-error-summary {
	margin-block-end: 1rem;
	padding: 1rem 1.1rem;
	border: 1px solid #e2aaa5;
	border-inline-start: 4px solid var(--param-color-danger);
	border-radius: .85rem;
	color: #782821;
	background: #fff5f3;
}
.param-error-summary strong { display: block; margin-bottom: .4rem; }
.param-error-summary ul { margin: 0; padding-inline-start: 1.25rem; }
.param-error-summary a { color: inherit; text-decoration: underline; }

:is(.param-dashboard,.param-view,.param-settings) button.is-loading::before {
	display: inline-block;
	width: 1rem;
	height: 1rem;
	margin-inline-end: .45rem;
	border: 2px solid currentColor;
	border-inline-start-color: transparent;
	border-radius: 50%;
	content: "";
	animation: param-spin .7s linear infinite;
}
@keyframes param-spin { to { transform: rotate(1turn); } }

.param-confirm-dialog {
	width: min(31rem, calc(100% - 2rem));
	padding: 0;
	border: 0;
	border-radius: 1.2rem;
	background: var(--param-color-surface);
	box-shadow: 0 1.25rem 4rem rgb(30 28 23 / 28%);
}
.param-confirm-dialog::backdrop { background: rgb(35 31 27 / 52%); backdrop-filter: blur(2px); }
.param-confirm-dialog form { padding: 1.25rem; }
.param-confirm-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.param-confirm-dialog h2 { margin: 0; font-size: 1.25rem; }
.param-confirm-dialog header button { min-width: 2.75rem; padding: 0; border: 0; background: transparent; font-size: 1.5rem; }
.param-confirm-dialog p { margin: 1rem 0; color: var(--param-color-muted); }
.param-confirm-dialog footer { display: flex; justify-content: flex-end; gap: .65rem; }
.param-confirm-dialog footer button { padding-inline: 1rem; border: 1px solid var(--param-color-border); border-radius: .75rem; }
.param-confirm-dialog footer .is-danger { border-color: var(--param-color-danger); color: #fff; background: var(--param-color-danger); }

.param-toast-region {
	position: fixed;
	z-index: 100001;
	inset: 1rem auto auto 1rem;
	display: grid;
	width: min(25rem, calc(100% - 2rem));
	gap: .65rem;
}
.param-toast {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .85rem 1rem;
	border: 1px solid #bed5b5;
	border-radius: .85rem;
	color: #315b2a;
	background: #f2faef;
	box-shadow: 0 .65rem 2rem rgb(35 45 30 / 18%);
}
.param-toast.is-error { border-color: #e2aaa5; color: #782821; background: #fff5f3; }
.param-toast a { color: inherit; font-weight: 750; text-decoration: underline; white-space: nowrap; }

.param-mobile-primary-nav { display: none; }

@media (max-width: 48rem) {
	.param-dashboard--patient .param-dashboard-content { padding-bottom: 6.5rem; }
	.param-dashboard--patient .param-nav-group { margin-inline: .55rem; }
	.param-mobile-primary-nav {
		position: fixed;
		z-index: 25;
		inset: auto 0 0;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		padding: .45rem max(.5rem, env(safe-area-inset-right)) calc(.45rem + env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));
		border-block-start: 1px solid var(--param-color-border);
		background: rgb(255 253 250 / 96%);
		box-shadow: 0 -.6rem 1.7rem rgb(45 55 39 / 10%);
		backdrop-filter: blur(12px);
	}
	.param-mobile-primary-nav a {
		position: relative;
		display: grid;
		min-height: 3.35rem;
		align-content: center;
		justify-items: center;
		gap: .15rem;
		border-radius: .75rem;
		color: var(--param-color-muted);
		font-size: .75rem;
	}
	.param-mobile-primary-nav a[aria-current="page"] { color: var(--param-color-primary-hover); background: var(--param-color-primary-soft); }
	.param-mobile-primary-nav svg { width: 1.25rem; height: 1.25rem; }
	.param-mobile-primary-nav b { position: absolute; inset: .15rem auto auto .55rem; margin: 0; }
}

@media (max-width: 30rem) {
	.param-toast-region { inset-inline: 1rem; width: auto; }
	.param-confirm-dialog footer { flex-direction: column-reverse; }
	.param-confirm-dialog footer button { width: 100%; }
}

:is(
	.param-dashboard,
	.param-view,
	.param-settings,
	.param-dashboard-guest,
	.param-survey-shell,
	.param-security-shell,
	.param-meeting-shell,
	.param-login-shell,
	body.login
) {
	--param-muted: var(--param-color-muted);
	--param-border: var(--param-color-border);
	--param-line: var(--param-color-border);
	--pf-muted: var(--param-color-muted);
	--ps-muted: var(--param-color-muted);
	--survey-muted: var(--param-color-muted);
	--security-muted: var(--param-color-muted);
	--param-guest-muted: var(--param-color-muted);
	--param-login-muted: var(--param-color-muted);
	--pm-muted: var(--param-color-muted);
	--param-guest-accent: var(--param-color-accent);
	color: var(--param-color-text);
	font-size: 1rem;
	line-height: var(--param-line-height);
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

/* Unified dashboard identity — patient dashboard is the approved visual source. */
.param-dashboard .param-dashboard-identity {
	display: grid;
	justify-items: center;
	gap: .2rem;
	margin: 0 0 1.15rem;
	padding: 0 0 1.1rem;
	border: 0;
	text-align: center;
}

.param-dashboard .param-dashboard-identity__avatar {
	position: relative;
	width: 7.2rem;
	height: 7.2rem;
	margin-block-end: .65rem;
}

.param-dashboard .param-dashboard-identity__avatar > img {
	display: block;
	width: 100%;
	height: 100%;
	border: 2px solid var(--param-color-primary);
	border-radius: 50%;
	box-shadow: none;
	object-fit: cover;
}

.param-dashboard .param-dashboard-identity__avatar > a {
	position: absolute;
	inset: auto auto .35rem .15rem;
	display: block;
	width: var(--param-touch-target);
	height: var(--param-touch-target);
	min-height: 0;
	padding: .55rem;
	border: 1px solid var(--param-color-primary-hover);
	border-radius: 50%;
	color: var(--param-color-primary-hover);
	background: #fffcf9;
	box-shadow: none;
	line-height: 1;
}

.param-dashboard .param-dashboard-identity__avatar > a::before {
	display: none !important;
	content: none !important;
}

.param-dashboard .param-dashboard-identity__avatar > a:hover {
	border-color: var(--param-color-primary-hover);
	color: #fff;
	background: var(--param-color-primary-hover);
}

.param-dashboard .param-dashboard-identity__avatar > a:focus-visible {
	outline: 3px solid rgb(100 142 80 / 35%);
	outline-offset: 3px;
}

.param-dashboard .param-avatar-camera-icon {
	display: block;
	width: 100%;
	height: 100%;
}

.param-dashboard .param-dashboard-identity strong {
	margin-block-start: .35rem;
	color: #25241f;
	font-size: 1.3rem;
	font-weight: 600;
}

.param-dashboard .param-dashboard-identity span {
	color: #aaa69d;
	font-size: .85rem;
}

.param-dashboard .param-dashboard-identity small {
	margin-block-start: .35rem;
	padding: .2rem .75rem;
	border-radius: 99px;
	color: #77766e;
	background: #f7f6f1;
	font-size: .8rem;
}

@media (max-width: 48rem) {
	.param-dashboard .param-dashboard-identity {
		min-width: 10rem;
		margin: 0;
		padding: 0;
	}

	.param-dashboard .param-dashboard-identity__avatar {
		width: 3.2rem;
		height: 3.2rem;
		margin: 0;
	}

	.param-dashboard .param-dashboard-identity__avatar > a {
		width: var(--param-touch-target);
		height: var(--param-touch-target);
		inset: auto auto -.65rem -.65rem;
		padding: .7rem;
	}

	.param-dashboard .param-dashboard-identity span,
	.param-dashboard .param-dashboard-identity small {
		display: none;
	}

	.param-dashboard .param-dashboard-identity strong {
		font-size: .9rem;
	}
}

/* Keep supporting copy readable without enlarging decorative icon glyphs. */
:is(
	.param-dashboard,
	.param-view,
	.param-settings,
	.param-dashboard-guest,
	.param-survey-shell,
	.param-security-shell,
	.param-meeting-shell,
	.param-login-shell,
	body.login
) :where(p, li, label, dt, dd, time) {
	line-height: var(--param-line-height);
}

:is(
	.param-dashboard,
	.param-view,
	.param-settings,
	.param-dashboard-guest,
	.param-survey-shell,
	.param-security-shell,
	.param-meeting-shell,
	.param-login-shell,
	body.login
) small {
	font-size: var(--param-text-sm) !important;
	line-height: 1.7;
}

/* Replace the sub-12px operational labels that made dense screens hard to scan. */
.param-financial :where(
	.param-financial-stats span,
	.param-financial-notice span,
	.param-financial-panel > header span,
	.param-financial-panel > header b,
	.param-financial-stats em,
	.param-settlement-calculation dt,
	.param-settlement-calculation dd,
	.param-settlement-calculation > p,
	.param-payout-account header i,
	.param-payout-account__body > strong,
	.param-payout-account__body code,
	.param-payout-account__body p,
	.param-payout-account__body a,
	.param-financial-empty-state strong,
	.param-financial-empty-state p,
	.param-financial-inline-warning,
	.param-financial-forecast strong,
	.param-financial-forecast p,
	.param-financial-forecast time,
	.param-settlement-filters button,
	.param-session-earning-list strong,
	.param-session-earning-list b,
	.param-session-earning-list time,
	.param-payout-ledger__list strong,
	.param-payout-ledger__list b,
	.param-payout-ledger__list time
) {
	font-size: var(--param-text-sm) !important;
	line-height: 1.65;
}

.param-contact-messenger :where(
	.param-message-toolbar small,
	.param-ticket-message small,
	.param-ticket-message time,
	.param-contact-card small,
	.param-contact-card time
) {
	font-size: var(--param-text-sm) !important;
	line-height: 1.65;
}

.param-dashboard-guest small,
.param-financial :where(
	small,
	time,
	dt,
	.param-financial-notice span,
	.param-settlement-calculation > p,
	.param-payout-account__body p,
	.param-financial-empty-state p,
	.param-financial-forecast p
),
.param-contact-messenger :where(small, time) {
	color: var(--param-color-muted) !important;
}

/* Semantic microcopy must remain readable even when legacy role styles are denser. */
:is(.param-dashboard, .param-view, .param-settings, .param-survey-shell, .param-security-shell, .param-meeting-shell) :where(
	[class*="badge"],
	[class*="status"],
	[class*="hint"],
	[class*="eyebrow"],
	[class*="caption"],
	[class*="warning"],
	[class*="feedback"],
	[class*="receipt"],
	[class*="readonly"]
),
:is(.param-dashboard, .param-view, .param-settings, .param-survey-shell, .param-security-shell, .param-meeting-shell) :where(
	[class*="badge"],
	[class*="status"],
	[class*="hint"],
	[class*="eyebrow"],
	[class*="caption"],
	[class*="warning"],
	[class*="feedback"],
	[class*="receipt"],
	[class*="readonly"]
) :where(span, small, time, p, b, strong, em, dt, dd, a, button, output, label) {
	font-size: var(--param-text-sm) !important;
	line-height: 1.65;
}

:is(.param-dashboard, .param-view, .param-settings) :where(
	.param-financial-status,
	.param-availability-badge,
	.param-contact-card__status,
	.param-results-hero__eyebrow,
	.param-dashboard-view-heading__copy > span,
	.param-form-actions__note,
	.param-settings__eyebrow,
	.param-message-toolbar small
) {
	font-size: var(--param-text-sm) !important;
	line-height: 1.65;
}

/* Muted copy remains secondary while meeting readable light-mode contrast. */
:is(.param-dashboard, .param-view, .param-settings) :where(
	.param-dashboard-view-heading__copy > p,
	.param-form-actions__note,
	.param-contact-card__hint,
	.param-results-section-heading > p,
	.param-financial-panel > header p,
	.param-financial-security p,
	.param-therapist-result-card__bio
) {
	color: var(--param-color-muted) !important;
}

/* Consistent keyboard focus across native and custom controls. */
:is(
	.param-dashboard,
	.param-view,
	.param-settings,
	.param-dashboard-guest,
	.param-survey-shell,
	.param-security-shell,
	.param-meeting-shell,
	.param-login-shell,
	body.login
) :where(a, button, input, select, textarea, summary, [role="button"]):focus-visible {
	outline: 3px solid var(--param-color-primary) !important;
	outline-offset: 3px;
	box-shadow: var(--param-focus-ring);
}

:is(.param-dashboard, .param-view, .param-settings, .param-survey-shell, .param-security-shell) summary {
	min-height: var(--param-touch-target);
	align-items: center;
	cursor: pointer;
}

/* Primary interactive controls satisfy the recommended 44px touch target. */
:is(.param-dashboard, .param-view, .param-settings, .param-dashboard-guest, .param-survey-shell, .param-security-shell, .param-meeting-shell) :where(
	button,
	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	[role="button"]
) {
	min-height: var(--param-touch-target) !important;
	cursor: pointer;
}

:is(.param-dashboard-nav, .param-context-switcher nav) > a,
.param-dashboard-guest__button,
.param-security-finish,
.param-meeting-button {
	min-height: var(--param-touch-target) !important;
}

/* Keep SVGs inside labeled action controls legible and visually consistent. */
:is(
	.param-dashboard,
	.param-view,
	.param-settings,
	.param-dashboard-guest,
	.param-survey-shell,
	.param-security-shell,
	.param-meeting-shell,
	.param-login-shell,
	body.login
) :where(
	button,
	.button,
	[role="button"],
	a.is-primary,
	a[class*="action"],
	a[class*="button"],
	.param-next-appointment__actions > a,
	.param-appointment-card__actions > a,
	.param-panel-link
) svg {
	display: block;
	width: var(--param-action-icon-size) !important;
	height: var(--param-action-icon-size) !important;
	flex: 0 0 var(--param-action-icon-size) !important;
	color: currentColor;
}

/* A few controls wrap their SVG in an icon container. */
:is(
	.param-dashboard,
	.param-view,
	.param-settings,
	.param-dashboard-guest,
	.param-survey-shell,
	.param-security-shell,
	.param-meeting-shell,
	.param-login-shell,
	body.login
) :where(button, .button, [role="button"]) :where(
	[class*="button__icon"],
	[class*="action-icon"],
	[class*="submit__icon"],
	[class*="search__icon"]
) {
	width: var(--param-action-icon-size) !important;
	height: var(--param-action-icon-size) !important;
	flex: 0 0 var(--param-action-icon-size) !important;
}

:is(.param-dashboard, .param-view, .param-settings) :where(
	a[class*="button"],
	a[class*="action"],
	a[class*="filter"],
	button[class*="action"],
	button[class*="filter"]
) {
	display: inline-flex;
	min-height: var(--param-touch-target) !important;
	align-items: center;
	cursor: pointer;
}

:is(.param-dashboard, .param-view, .param-settings) :where(button, [role="button"]):disabled {
	cursor: not-allowed;
}

/* Give dense operational views enough rhythm to scan safely. */
.param-financial :where(.param-financial-panel, .param-settlement-card, .param-transaction-row),
.param-contact-messenger :where(.param-message-toolbar, .param-ticket-message),
.param-dashboard-content :where(.param-dashboard__card, .param-overview-card) {
	line-height: 1.75;
}

.param-financial :where(.param-transaction-row, .param-session-earning-list article, .param-payout-ledger__list article) {
	min-height: 5rem;
}

/*
 * 60/30/10 color balance: neutral surfaces remain dominant, primary green
 * supports navigation and standard actions, and accent is reserved for the
 * small attention states below. Errors and destructive actions remain red.
 */
:is(.param-dashboard, .param-view, .param-settings) :where(
	.param-financial-status.is-pending,
	.param-financial-status.is-pending_therapist_confirm,
	.param-financial-status.is-pending_receptionist_confirm,
	.param-financial-status.is-unsettled,
	.param-payment-pill.is-pending,
	.param-survey-status.is-pending,
	.param-matching-followup > header > span:not(.is-scheduled, .is-cancelled, .is-no-show),
	.param-message-unread,
	.param-contact-unread
) {
	border: 1px solid var(--param-color-accent-border) !important;
	color: var(--param-color-accent-ink) !important;
	background: var(--param-color-accent-soft) !important;
}

:is(.param-dashboard, .param-view, .param-settings) :where(
	.param-financial-notice.is-warning,
	.param-financial-notice.is-action,
	.param-financial-inline-warning,
	.param-appointment-card__late-warning
) {
	border-color: var(--param-color-accent-border) !important;
	color: var(--param-color-accent-ink) !important;
	background: linear-gradient(110deg, var(--param-color-accent-soft), #fff 82%) !important;
	border-inline-start-width: 3px;
	border-inline-start-color: var(--param-color-accent) !important;
}

:is(.param-dashboard, .param-view, .param-settings) :where(
	.param-financial-notice.is-action > .param-financial-icon,
	.param-assessor-stat.has-attention .param-assessor-stat__icon,
	.param-matchings-summary article.has-attention > span,
	.param-appointments-summary article.has-attention > span,
	.param-survey-summary article.is-pending > span,
	.param-survey-card__milestone > span
) {
	color: var(--param-color-accent-ink) !important;
	background: var(--param-color-accent-soft) !important;
}

.param-financial-notice.is-action > button {
	border: 2px solid var(--param-color-accent) !important;
	background: var(--param-color-accent-ink) !important;
}

.param-financial-notice.is-action > button:hover {
	background: var(--param-color-accent-hover) !important;
}

:is(.param-dashboard, .param-view, .param-settings) .param-thread-item.is-unread::after {
	border-color: var(--param-color-accent-border) !important;
	background-color: var(--param-color-accent) !important;
}

:is(.param-dashboard, .param-view, .param-settings) .param-matching-followup li.is-current i {
	border-color: var(--param-color-accent) !important;
	background-color: var(--param-color-accent-ink) !important;
	box-shadow: 0 0 0 2px var(--param-color-accent-soft) !important;
}

.param-flag-card.is-yellow {
	border-block-start-color: var(--param-color-accent) !important;
	background-color: var(--param-color-surface) !important;
}

.param-flag-card.is-yellow .param-flag-level {
	color: var(--param-color-accent-ink) !important;
	background: var(--param-color-accent-soft) !important;
}

@media (max-width: 48rem) {
	.param-financial :where(.param-transaction-row, .param-session-earning-list article, .param-payout-ledger__list article) {
		row-gap: .6rem;
		padding-block: 1rem;
	}

	.param-dashboard-content {
		padding-inline: clamp(1rem, 4vw, 1.5rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(
		.param-dashboard,
		.param-view,
		.param-settings,
		.param-dashboard-guest,
		.param-survey-shell,
		.param-security-shell,
		.param-meeting-shell,
		.param-login-shell,
		body.login
	),
	:is(
		.param-dashboard,
		.param-view,
		.param-settings,
		.param-dashboard-guest,
		.param-survey-shell,
		.param-security-shell,
		.param-meeting-shell,
		.param-login-shell,
		body.login
	) *,
	:is(
		.param-dashboard,
		.param-view,
		.param-settings,
		.param-dashboard-guest,
		.param-survey-shell,
		.param-security-shell,
		.param-meeting-shell,
		.param-login-shell,
		body.login
	) *::before,
	:is(
		.param-dashboard,
		.param-view,
		.param-settings,
		.param-dashboard-guest,
		.param-survey-shell,
		.param-security-shell,
		.param-meeting-shell,
		.param-login-shell,
		body.login
	) *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
