/**
 * Credit flows: dashboard/manage credit screens and PSFW checkout.
 * Surfaces use `var(--wp--preset--color--*)` with the Vincent42 theme (same tokens as `vincent42-app-shell`).
 * Rules under `.vincent42-manage-shell` apply only on `/v42-manage/` credit routes (manage shell chrome).
 */

/* Hosted PSFW payment form (credit + subscription checkout page templates). */
.vincent42-credit-checkout-wrap,
.vincent42-subscription-checkout-wrap {
	max-width: 960px;
	margin: 0 auto 2rem;
	padding: 0 1.25rem;
	box-sizing: border-box;
}

.v42-credit-management {
	max-width: 960px;
	margin: 0 auto 2rem;
}

.v42-credit-purchase-history {
	margin-bottom: 2rem;
}

.v42-credit-purchase-history .v42-credit-dashboard-title {
	font-size: 1.25rem;
}

.v42-credit-purchase-history__ref {
	font-size: 0.85em;
	word-break: break-all;
}

.v42-credit-dashboard-title {
	margin: 0 0 1rem;
	font-size: 1.5rem;
}

.v42-credit-transfer-hint {
	margin: 0 0 1.25rem;
	padding: 0.75rem 1rem 0.75rem 2rem;
	border-radius: 6px;
	background: var(--wp--preset--color--surface-container-low);
	border: 1px solid var(--wp--preset--color--outline);
	color: var(--wp--preset--color--on-surface);
	font-size: 0.95rem;
	font-weight: 700;
	position: relative;
	opacity: 0;
	transform: translateY(-8px);
}

.v42-credit-transfer-hint--info {
	background: var(--wp--preset--color--surface-container-low);
	border-color: var(--wp--preset--color--outline);
	color: var(--wp--preset--color--on-surface);
}

.v42-credit-transfer-hint--success {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 14%, transparent);
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 45%, transparent);
	color: var(--wp--preset--color--primary);
}

.v42-credit-transfer-hint--error {
	background: color-mix(in srgb, var(--wp--preset--color--error-container) 35%, var(--wp--preset--color--surface-container));
	border-color: color-mix(in srgb, var(--wp--preset--color--error) 45%, transparent);
	color: var(--wp--preset--color--on-error-container);
}

.v42-credit-transfer-hint::before {
	/* U+2192 — escape avoids mojibake if sheet is misinterpreted as Latin-1 */
	content: '\2192';
	position: absolute;
	left: 0.75rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}

.v42-credit-transfer-hint[hidden] {
	display: none !important;
}

.v42-credit-transfer-hint.v42-is-visible {
	animation: v42-temp-message-slide-in 380ms cubic-bezier(0.25, 1.35, 0.45, 1) forwards;
}

/* Same “callout” rhythm as .v42-credit-transfer-hint; error = red, success = green */
.v42-credit-transfer-status {
	margin: 0;
	padding: 0.75rem 1rem;
	border-radius: 6px;
	font-size: 0.95rem;
	line-height: 1.45;
	width: 100%;
	box-sizing: border-box;
	font-weight: 700;
	animation: v42-temp-message-slide-in 180ms ease-out;
}

.v42-credit-transfer-status__text {
	margin: 0;
}

.v42-credit-transfer-status__text + .v42-credit-transfer-status__text {
	margin-top: 0.5rem;
}

.v42-credit-transfer-status--error {
	background: color-mix(in srgb, var(--wp--preset--color--error-container) 35%, var(--wp--preset--color--surface-container));
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--error) 45%, transparent);
	color: var(--wp--preset--color--on-error-container);
}

.v42-credit-transfer-status--success {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 14%, transparent);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 45%, transparent);
	color: var(--wp--preset--color--primary);
}

.v42-credit-balance-dashboard {
	margin-bottom: 2rem;
}

.v42-credit-balance-dashboard .v42-credit-transfer-toolbar {
	margin-top: 0;
}

.v42-credit-balance-dashboard__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-bottom: 0.5rem;
}

.v42-credit-balance-dashboard__header .v42-credit-dashboard-title {
	margin-bottom: 0;
}

.v42-credit-balance-dashboard__purchase {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.v42-credit-subscribe-cta {
	margin: 1.25rem 0 1.5rem;
	padding: 1rem 1.15rem;
	border: 1px solid var(--wp--preset--color--outline, #c3c4c7);
	border-radius: 6px;
	background: var(--wp--preset--color--surface-container, #f6f7f7);
}

.v42-credit-subscribe-cta__title {
	margin: 0 0 0.4rem;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.3;
}

.v42-credit-subscribe-cta__copy {
	margin: 0 0 0.85rem;
	max-width: 40rem;
	line-height: 1.45;
}

.v42-credit-subscribe-cta__action {
	margin: 0;
}

.v42-credit-purchase .v42-credit-subscribe-cta {
	margin-top: 1.75rem;
}

.v42-credit-recurring-summary {
	margin: 0 0 1.25rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--wp--preset--color--outline, #c3c4c7);
	border-radius: 6px;
	background: var(--wp--preset--color--surface-container, #f6f7f7);
}

.v42-credit-recurring-summary p {
	margin: 0;
}

.v42-credit-running-total-hero {
	margin: 0 0 1.25rem;
	padding: 0.85rem 1.1rem;
	font-size: 1.1rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--on-surface);
	background: var(--wp--preset--color--surface-container);
	border: 1px solid var(--wp--preset--color--outline);
	border-radius: 6px;
}

.v42-credit-dashboard-flash {
	margin-bottom: 1rem;
}

.v42-credit-allow-unallocated-compact {
	margin: 0 0 1.5rem;
	padding: 0.65rem 0.9rem;
	max-width: 42rem;
	border: 1px solid var(--wp--preset--color--outline);
	border-radius: 6px;
	background: var(--wp--preset--color--surface-container-low);
}

.v42-credit-allow-unallocated-compact__label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem 0.65rem;
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--wp--preset--color--on-surface);
	cursor: pointer;
}

.v42-credit-allow-unallocated-compact__label input[type='checkbox'] {
	margin: 0.2rem 0 0;
	flex-shrink: 0;
}

.v42-credit-allow-unallocated-compact__text {
	flex: 1;
	min-width: 0;
}

.v42-credit-allow-unallocated-compact__actions {
	margin: 0.65rem 0 0;
}

.v42-credit-requests-summary-line {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	color: var(--wp--preset--color--on-surface-variant);
}

.v42-credit-requests-summary-line__sep {
	margin: 0 0.35rem;
	color: color-mix(in srgb, var(--wp--preset--color--on-surface-variant) 65%, transparent);
}

.v42-credit-history-table-wrap {
	margin: 0 0 1rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--wp--preset--color--outline);
	border-radius: 4px;
	background: var(--wp--preset--color--surface-container);
}

.v42-credit-history-table {
	width: 100%;
	min-width: 42rem;
	table-layout: fixed;
	border-collapse: collapse;
	font-size: 0.95rem;
	line-height: 1.45;
}

.v42-credit-history-table thead th {
	text-align: left;
	padding: 0.65rem 0.85rem;
	background: var(--wp--preset--color--surface-container-high);
	border-bottom: 1px solid var(--wp--preset--color--outline);
	font-weight: 600;
	font-size: inherit;
	text-transform: none;
	letter-spacing: normal;
	color: var(--wp--preset--color--on-surface);
	white-space: nowrap;
}

.v42-credit-history-table tbody td {
	padding: 0.6rem 0.85rem;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--outline) 55%, transparent);
	vertical-align: top;
	color: var(--wp--preset--color--on-surface);
}

.v42-credit-history-table tbody tr:nth-child(even) {
	background: color-mix(in srgb, var(--wp--preset--color--on-surface) 5%, var(--wp--preset--color--surface-container));
}

.v42-credit-history-table tbody tr:last-child td {
	border-bottom: none;
}

.v42-credit-history-table col.v42-credit-history-table__col-row,
.v42-credit-history-split-details__table col.v42-credit-history-table__col-row {
	width: 3.25rem;
}

.v42-credit-history-table col.v42-credit-history-table__col-type,
.v42-credit-history-split-details__table col.v42-credit-history-table__col-type {
	width: 7rem;
}

.v42-credit-history-table col.v42-credit-history-table__col-credits,
.v42-credit-history-split-details__table col.v42-credit-history-table__col-credits {
	width: 4.5rem;
}

.v42-credit-history-table col.v42-credit-history-table__col-status,
.v42-credit-history-split-details__table col.v42-credit-history-table__col-status {
	width: 7rem;
}

.v42-credit-history-table col.v42-credit-history-table__col-from,
.v42-credit-history-split-details__table col.v42-credit-history-table__col-from {
	width: 24%;
}

.v42-credit-history-table col.v42-credit-history-table__col-to,
.v42-credit-history-split-details__table col.v42-credit-history-table__col-to {
	width: 24%;
}

.v42-credit-history-table col.v42-credit-history-table__col-when,
.v42-credit-history-split-details__table col.v42-credit-history-table__col-when {
	width: 13rem;
}

.v42-credit-history-table__col-row,
.v42-credit-history-table__cell-num {
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--on-surface-variant);
}

.v42-credit-history-table__col-credits,
.v42-credit-history-table__cell-credits,
.v42-credit-history-split-details__part .v42-credit-history-table__cell-credits {
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.v42-credit-history-table thead .v42-credit-history-table__col-credits {
	text-align: right;
}

.v42-credit-history-table__cell-from,
.v42-credit-history-table__cell-to {
	overflow-wrap: break-word;
	word-break: break-word;
	min-width: 0;
}

.v42-credit-history-table__col-when,
.v42-credit-history-table__cell-date {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.v42-credit-history-type {
	display: inline-block;
	padding: 0.12rem 0.45rem;
	border-radius: 4px;
	background: var(--wp--preset--color--surface-container-high);
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--wp--preset--color--on-surface-variant);
}

.v42-credit-history-status {
	display: inline-block;
	padding: 0.12rem 0.45rem;
	border-radius: 4px;
	font-size: 0.85rem;
	font-weight: 500;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: normal;
}

.v42-credit-history-status--completed {
	/* Green success: dark container + light label (same contrast pattern as refunded). */
	color: color-mix(in srgb, #bbf7d0 88%, var(--wp--preset--color--on-error-container));
	background: color-mix(in srgb, #14532d 42%, var(--wp--preset--color--surface-container));
	border: 1px solid color-mix(in srgb, #4ade80 48%, transparent);
}

.v42-credit-history-status--pending {
	/* Warning yellow: tertiary tokens read grey on this theme, so use amber anchored to surface. */
	color: color-mix(in srgb, #fef08a 90%, var(--wp--preset--color--on-error-container));
	background: color-mix(in srgb, #78350f 44%, var(--wp--preset--color--surface-container));
	border: 1px solid color-mix(in srgb, #eab308 48%, transparent);
}

.v42-credit-history-status--refunded {
	color: var(--wp--preset--color--on-error-container);
	background: color-mix(in srgb, var(--wp--preset--color--error-container) 35%, var(--wp--preset--color--surface-container));
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--error) 45%, transparent);
}

.v42-credit-history-row--grouped {
	cursor: pointer;
}

.v42-credit-history-row--grouped:hover td,
.v42-credit-history-row--grouped:focus-visible td {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent);
}

.v42-credit-history-row--grouped:focus {
	outline: none;
}

.v42-credit-history-row--grouped:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: -2px;
}

.v42-credit-history-row--expanded td {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 6%, var(--wp--preset--color--surface-container));
}

.v42-credit-history-from-combined {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.v42-credit-history-split-indicator {
	font-weight: 600;
	color: var(--wp--preset--color--on-surface-variant);
}

.v42-credit-history-row--grouped:hover .v42-credit-history-split-indicator,
.v42-credit-history-row--expanded .v42-credit-history-split-indicator {
	color: var(--wp--preset--color--primary);
}

.v42-credit-history-split-details__cell {
	padding: 0 !important;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--outline) 55%, transparent);
}

.v42-credit-history-split-details__table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.v42-credit-history-split-details__part td {
	padding: 0.5rem 0.85rem;
	color: var(--wp--preset--color--on-surface);
	font-size: inherit;
	font-weight: inherit;
	vertical-align: top;
}

.v42-credit-history-split-details__part + .v42-credit-history-split-details__part td {
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--outline) 55%, transparent);
}

.v42-credit-history-table__cell-credits {
	font-variant-numeric: tabular-nums;
}

.v42-credit-pagination {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--outline);
}

.v42-credit-pagination__controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem 1rem;
	margin-bottom: 0.5rem;
}

.v42-credit-pagination__status {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--on-surface);
}

.v42-credit-pagination__range {
	margin: 0;
	text-align: center;
	font-size: 0.9rem;
	color: var(--wp--preset--color--on-surface-variant);
}

.v42-credit-pagination .button {
	margin: 0;
}

.v42-credit-pagination__disabled {
	opacity: 0.45;
	pointer-events: none;
	cursor: default;
	box-shadow: none !important;
}

.v42-credit-region--history {
	margin-top: 2rem;
}

.v42-credit-balance-group {
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--wp--preset--color--outline);
}

.v42-credit-balance-group:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

/* Account + business: two compact columns on wider viewports */
.v42-credit-account-pools-row {
	display: grid;
	gap: 1rem 1.25rem;
	margin-bottom: 2rem;
}

@media (min-width: 600px) {
	.v42-credit-account-pools-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
	}

	.v42-credit-account-pools-row .v42-credit-balance-group--unallocated,
	.v42-credit-account-pools-row .v42-credit-balance-group--business {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}

	.v42-credit-account-pools-row .v42-credit-pool-card {
		max-width: none;
		padding: 0.75rem 1rem;
	}

	.v42-credit-account-pools-row .v42-credit-pool-card__balance {
		font-size: 1.35rem;
	}
}

.v42-credit-group-title {
	margin: 0 0 0.5rem;
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--on-surface-variant);
}

.v42-credit-pool-card {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1rem 1.25rem;
	border-radius: 8px;
	border: 2px solid var(--wp--preset--color--outline);
	background: var(--wp--preset--color--surface-container);
	box-shadow: 0 1px 2px color-mix(in srgb, var(--wp--preset--color--on-surface) 8%, transparent);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
	max-width: 28rem;
	outline: none;
	position: relative;
}

.v42-credit-pool-card--unallocated {
	background: var(--wp--preset--color--surface-container-high);
}

.v42-credit-pool-card:focus-visible {
	box-shadow: 0 0 0 2px var(--wp--preset--color--primary);
}

.v42-credit-pool-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
}

.v42-credit-pool-card__name {
	font-size: 1rem;
	font-weight: 600;
	color: var(--wp--preset--color--on-surface);
	line-height: 1.3;
}

.v42-credit-pool-card__balance {
	font-size: 1.75rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--primary);
	line-height: 1.2;
	padding-top: 0.25rem;
	border-top: 1px solid var(--wp--preset--color--outline);
	width: 100%;
}

.v42-credit-pool-card--transfer-armed {
	cursor: pointer;
}

.v42-credit-pool-card::after {
	content: '';
	position: absolute;
	inset: -4px;
	border-radius: 10px;
	padding: 0;
	background:
		repeating-linear-gradient(90deg, var(--wp--preset--color--primary) 0 10px, transparent 10px 18px) top left / 200% 4px no-repeat,
		repeating-linear-gradient(180deg, var(--wp--preset--color--primary) 0 10px, transparent 10px 18px) top right / 4px 200% no-repeat,
		repeating-linear-gradient(270deg, var(--wp--preset--color--primary) 0 10px, transparent 10px 18px) bottom right / 200% 4px no-repeat,
		repeating-linear-gradient(0deg, var(--wp--preset--color--primary) 0 10px, transparent 10px 18px) bottom left / 4px 200% no-repeat;
	opacity: 0;
	pointer-events: none;
}

.v42-credit-pool-card--selectable {
	border-style: solid;
	border-width: 3px;
	border-color: transparent;
}

.v42-credit-pool-card--selectable::after {
	opacity: 1;
	animation: v42-selectable-outline-march 540ms linear infinite;
}

.v42-credit-pool-card--selectable:hover {
	transform: scale(1.02);
	box-shadow: 0 8px 20px color-mix(in srgb, var(--wp--preset--color--primary) 30%, transparent);
}

.v42-credit-management[data-v42-transfer-mode="0"] .v42-credit-pool-card {
	cursor: default;
}

.v42-credit-location-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: 1rem;
}

.v42-credit-pool-card--selected-source {
	border-color: var(--wp--preset--color--primary);
	border-style: solid;
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--wp--preset--color--primary) 55%, transparent),
		0 2px 8px color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent);
	animation: none;
}

.v42-credit-pool-card--selected-dest {
	border-color: var(--wp--preset--color--secondary);
	border-style: solid;
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--wp--preset--color--secondary) 55%, transparent),
		0 2px 8px color-mix(in srgb, var(--wp--preset--color--secondary) 22%, transparent);
	animation: none;
}

.v42-credit-pool-card--selected-source::after,
.v42-credit-pool-card--selected-dest::after {
	opacity: 0;
	animation: none;
}

.v42-credit-transfer-toolbar {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}

.v42-credit-transfer-toolbar .v42-credit-transfer-mode-toggle {
	align-self: flex-start;
}

.v42-credit-transfer-toolbar__controls {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.v42-credit-transfer-mode-toggle.button-primary,
.v42-credit-transfer-mode-toggle[aria-pressed="true"] {
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.v42-credit-transfer-mode-indicator {
	color: var(--wp--preset--color--secondary);
	font-weight: 700;
}

@keyframes v42-temp-message-slide-in {
	from {
		opacity: 0;
		transform: translateY(-24px) scale(0.96);
	}
	65% {
		opacity: 1;
		transform: translateY(4px) scale(1.01);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes v42-selectable-outline-march {
	0% {
		background-position:
			0 0,
			100% 0,
			100% 100%,
			0 100%;
	}
	100% {
		background-position:
			-18px 0,
			100% -18px,
			calc(100% + 18px) 100%,
			0 calc(100% + 18px);
	}
}

.v42-credit-amount-dialog {
	padding: 0;
	border: none;
	border-radius: 8px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
	max-width: 22rem;
}

.v42-credit-amount-dialog::backdrop {
	background: rgba(0, 0, 0, 0.45);
}

.v42-credit-amount-dialog__inner {
	padding: 1.5rem;
}

.v42-credit-amount-dialog__title {
	margin: 0 0 1rem;
	font-size: 1.15rem;
}

.v42-credit-amount-dialog__field label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
}

.v42-credit-amount-dialog__field input[type="number"] {
	width: 100%;
	max-width: 12rem;
	font-size: 1.25rem;
	padding: 0.5rem 0.65rem;
}

.v42-credit-amount-dialog__actions {
	margin: 1.25rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.v42-credit-region--future {
	margin-top: 2rem;
	min-height: 0;
}

/* -------------------------------------------------------------------------
   Manage route: credit UI inside `.vincent42-manage-shell` (shell-specific
   density and shadows). Checkout and other contexts have no `.vincent42-manage-shell`.
   ------------------------------------------------------------------------- */

.vincent42-manage-shell dialog.v42-credit-amount-dialog {
	padding: 0;
	border: none;
	border-radius: var(--v42-radius-xl);
	max-width: 22rem;
	background: transparent;
	box-shadow: none;
	color: inherit;
}

.vincent42-manage-shell dialog.v42-credit-amount-dialog::backdrop {
	background: rgba(5, 8, 14, 0.72);
	backdrop-filter: blur(8px);
}

.vincent42-manage-shell .v42-credit-amount-dialog__inner {
	padding: var(--v42-space-lg);
	border-radius: var(--v42-radius-xl);
	background: var(--wp--preset--color--surface-container);
	border: 1px solid var(--wp--preset--color--outline);
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent),
		0 24px 48px rgba(0, 0, 0, 0.45);
}

.vincent42-manage-shell .v42-credit-amount-dialog__title {
	margin: 0 0 var(--v42-space-md);
	font-family: var(--v42-font-heading);
	font-size: 1.15rem;
	color: var(--wp--preset--color--on-surface);
}

.vincent42-manage-shell .v42-credit-amount-dialog__field input[type="number"] {
	max-width: 100%;
	font-family: var(--v42-font-mono);
	font-variant-numeric: tabular-nums;
}

.vincent42-manage-shell .v42-credit-transfer-hint,
.vincent42-manage-shell .v42-credit-transfer-status {
	border-radius: var(--v42-radius-lg);
	font-weight: 600;
}

.vincent42-manage-shell .v42-credit-transfer-hint--info,
.vincent42-manage-shell .v42-credit-transfer-status:not(.v42-credit-transfer-status--error):not(.v42-credit-transfer-status--success) {
	background: var(--wp--preset--color--surface-container-low);
	border: 1px solid var(--wp--preset--color--outline);
	color: var(--wp--preset--color--on-surface);
}

.vincent42-manage-shell .v42-credit-transfer-hint--success,
.vincent42-manage-shell .v42-credit-transfer-status--success {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 14%, transparent);
	border-color: color-mix(in srgb, var(--wp--preset--color--primary) 45%, transparent);
	color: var(--wp--preset--color--primary);
}

.vincent42-manage-shell .v42-credit-transfer-hint--error,
.vincent42-manage-shell .v42-credit-transfer-status--error {
	background: rgba(147, 0, 10, 0.35);
	border-color: rgba(255, 180, 171, 0.45);
	color: var(--wp--preset--color--error);
}

.vincent42-manage-shell .v42-credit-transfer-hint::before {
	color: var(--wp--preset--color--primary);
}

.vincent42-manage-shell .v42-credit-history-table thead th {
	background: var(--wp--preset--color--surface-container-high);
	color: var(--wp--preset--color--on-surface-variant);
	border-bottom-color: var(--wp--preset--color--outline);
	text-transform: none;
	letter-spacing: normal;
	font-size: inherit;
}

.vincent42-manage-shell .v42-credit-history-table tbody td {
	color: var(--wp--preset--color--on-surface);
	border-bottom-color: var(--wp--preset--color--outline);
}

.vincent42-manage-shell .v42-credit-history-table tbody tr:nth-child(even) {
	background: rgba(0, 0, 0, 0.1);
}

.vincent42-manage-shell .v42-credit-history-type {
	background: var(--wp--preset--color--surface-container-high);
	color: var(--wp--preset--color--on-surface-variant);
	border: 1px solid var(--wp--preset--color--outline);
}

.vincent42-manage-shell .v42-credit-pagination {
	border-top-color: var(--wp--preset--color--outline);
}

.vincent42-manage-shell .v42-credit-pagination__status,
.vincent42-manage-shell .v42-credit-pagination__range {
	color: var(--wp--preset--color--on-surface-variant);
}

.vincent42-manage-shell .v42-credit-balance-group {
	border-bottom-color: var(--wp--preset--color--outline);
}

.vincent42-manage-shell .v42-credit-pool-card {
	border-radius: var(--v42-radius-xl);
	border: 2px solid var(--wp--preset--color--outline);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.22);
}

.vincent42-manage-shell .v42-credit-pool-card:not(.v42-credit-pool-card--unallocated) {
	background: var(--wp--preset--color--surface-container);
}

.vincent42-manage-shell .v42-credit-pool-card:focus-visible {
	box-shadow:
		0 0 0 2px var(--wp--preset--color--primary),
		0 4px 20px rgba(0, 0, 0, 0.22);
}

.vincent42-manage-shell .v42-credit-pool-card__name {
	color: var(--wp--preset--color--on-surface);
}

.vincent42-manage-shell .v42-credit-pool-card__balance {
	color: var(--wp--preset--color--primary);
	border-top-color: var(--wp--preset--color--outline);
}

.vincent42-manage-shell .v42-credit-pool-card--selected-source {
	border-color: var(--wp--preset--color--primary);
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--wp--preset--color--primary) 55%, transparent),
		0 6px 22px color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent);
}

.vincent42-manage-shell .v42-credit-pool-card--selected-dest {
	border-color: var(--wp--preset--color--secondary);
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--wp--preset--color--secondary) 55%, transparent),
		0 6px 22px color-mix(in srgb, var(--wp--preset--color--secondary) 22%, transparent);
}

.vincent42-manage-shell .v42-credit-dashboard-title {
	color: var(--wp--preset--color--on-surface);
}

.vincent42-manage-shell .v42-credit-region > header,
.vincent42-manage-shell .v42-credit-region__title {
	color: var(--wp--preset--color--on-surface-variant);
}

.vincent42-manage-shell .v42-credit-running-total-hero {
	color: var(--wp--preset--color--on-surface-variant);
	background: var(--wp--preset--color--surface-container);
	border: 1px solid var(--wp--preset--color--outline);
	border-radius: var(--v42-radius-lg);
}

.vincent42-manage-shell .v42-credit-running-total-hero__value {
	margin-left: 0.35rem;
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.vincent42-manage-shell .v42-credit-allow-unallocated-compact {
	background: var(--wp--preset--color--surface-container);
	border: 1px solid var(--wp--preset--color--outline);
	border-radius: var(--v42-radius-lg);
}

.vincent42-manage-shell .v42-credit-allow-unallocated-compact__label {
	color: var(--wp--preset--color--on-surface);
}

.vincent42-manage-shell .v42-credit-allow-unallocated-compact__text {
	color: var(--wp--preset--color--on-surface-variant);
}

.vincent42-manage-shell .v42-credit-history-table-wrap {
	background: var(--wp--preset--color--surface-container);
	border-color: var(--wp--preset--color--outline);
	border-radius: var(--v42-radius-lg);
}

.vincent42-manage-shell .v42-credit-history-table tbody tr:nth-child(odd) {
	background: rgba(0, 0, 0, 0.08);
}

.vincent42-manage-shell .v42-credit-history-table tbody tr:nth-child(even) {
	background: rgba(0, 0, 0, 0.14);
}

.vincent42-manage-shell .v42-credit-history-table__col-row,
.vincent42-manage-shell .v42-credit-history-table__cell-num {
	color: var(--wp--preset--color--on-surface-variant);
}

.vincent42-manage-shell .v42-credit-requests-summary-line {
	color: var(--wp--preset--color--on-surface-variant);
}

.vincent42-manage-shell .v42-credit-requests-summary-line__sep {
	color: var(--wp--preset--color--on-surface-variant);
	opacity: 0.65;
}

.vincent42-manage-shell .v42-credit-transfer-mode-indicator {
	color: var(--wp--preset--color--primary);
}

.vincent42-manage-shell
	.v42-credit-pool-card--selectable:not(.v42-credit-pool-card--selected-source):not(.v42-credit-pool-card--selected-dest) {
	box-shadow:
		0 0 18px color-mix(in srgb, var(--wp--preset--color--primary) 28%, transparent),
		0 4px 20px rgba(0, 0, 0, 0.22);
}

.vincent42-manage-shell
	.v42-credit-pool-card--selectable:not(.v42-credit-pool-card--selected-source):not(.v42-credit-pool-card--selected-dest):hover {
	transform: scale(1.02);
	box-shadow:
		0 0 22px color-mix(in srgb, var(--wp--preset--color--primary) 42%, transparent),
		0 10px 28px color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent);
}
