/* Keep the shared table hover feedback; status labels also identify each state. */
.rd-pctable .rd-sortable-table-row.rd-preismigration-row-old:not(:hover) {
	background-color: color-mix(in srgb, var(--rd-gray-100) 45%, var(--rd-card-fg));
}

.rd-pctable .rd-sortable-table-row.rd-preismigration-row-planned:not(:hover) {
	background-color: var(--rd-blue-50);
}

.rd-pctable .rd-sortable-table-row.rd-preismigration-row-new:not(:hover) {
	background-color: var(--rd-green-50);
}

/* Shared presentation for migration confirmations, forms and import results. */
.rd-compact-popup-modal.rd-preismigration-dialog {
	width: 800px;
	text-align: left;
	color: var(--rd-font-dark);
	font-size: var(--rd-fontsize-5);
	line-height: var(--rd-lineheights-1);
}

.rd-compact-popup-modal.rd-preismigration-dialog-wide {
	width: 1080px;
}

.rd-preismigration-dialog .modal_dialog_mid {
	min-width: 0;
	max-width: 100%;
}

.rd-preismigration-body {
	display: flex;
	flex-direction: column;
	gap: var(--rd-spacing-md);
}

.rd-preismigration-header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--rd-spacing-md);
	padding-right: var(--rd-spacing-x-big);
	padding-bottom: var(--rd-spacing-x-sm);
}

.rd-preismigration-eyebrow {
	color: var(--rd-gray-600);
	font-size: var(--rd-fontsize-4);
	font-weight: var(--rd-fontweights-open-sans-1);
}

.rd-preismigration-dialog .rd-compact-popup .rd-compact-popup-title {
	font-size: var(--rd-fontsize-9);
	line-height: var(--rd-lineheights-0);
}

.rd-preismigration-dialog .rd-compact-popup .rd-compact-popup-icon {
	width: var(--rd-spacing-x-huge);
	height: var(--rd-spacing-huge);
	margin: 0;
}

.rd-preismigration-card {
	display: flex;
	flex-direction: column;
	gap: var(--rd-spacing-md);
	padding: var(--rd-spacing-big);
	border: 1px solid var(--rd-border-gray);
	border-radius: var(--rd-borderradius-border-big);
}

.rd-preismigration-customer {
	display: flex;
	flex-direction: column;
	gap: var(--rd-spacing-xx-sm);
}

.rd-preismigration-meta {
	display: block;
	font-size: var(--rd-fontsize-4);
	color: var(--rd-gray-600);
}

.rd-preismigration-contact + .rd-preismigration-contact {
	margin-top: var(--rd-spacing-xx-sm);
}

.rd-preismigration-contact-name {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* The address is what the column exists for, so it wraps instead of being clipped. */
.rd-preismigration-contact-mail {
	display: block;
	font-size: var(--rd-fontsize-4);
	overflow-wrap: anywhere;
}

.rd-preismigration-prices {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--rd-spacing-sm);
}

.rd-preismigration-price {
	display: flex;
	flex-direction: column;
	gap: var(--rd-spacing-xx-sm);
	padding: var(--rd-spacing-md);
	border-radius: var(--rd-borderradius-border-big);
	background: var(--rd-gray-100);
	font-size: var(--rd-fontsize-4);
}

.rd-preismigration-price strong {
	font-size: var(--rd-fontsize-9);
	font-weight: var(--rd-fontweights-open-sans-1);
}

.rd-preismigration-price-new {
	background: var(--rd-green-50);
}

.rd-preismigration-details {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	gap: var(--rd-spacing-sm) var(--rd-spacing-md);
	font-size: var(--rd-fontsize-4);
}

.rd-preismigration-details dt {
	color: var(--rd-gray-600);
}

.rd-preismigration-dialog .rd-infobar {
	font-size: var(--rd-fontsize-4);
	font-weight: var(--rd-fontweights-open-sans-2);
	line-height: var(--rd-lineheights-1);
	margin-bottom: 0;
}

.rd-preismigration-dialog .rd-input-row {
	padding: var(--rd-spacing-md);
	background: var(--rd-gray-100);
	border-radius: var(--rd-borderradius-border-big);
}

.rd-preismigration-import-table {
	max-height: 40vh;
	overflow: auto;
	border: 1px solid var(--rd-border-gray);
	border-radius: var(--rd-borderradius-border-big);
	font-size: var(--rd-fontsize-4);
}

.rd-preismigration-import-table table {
	width: 100%;
}

.rd-preismigration-import-table th {
	text-align: left;
	position: sticky;
	top: 0;
	background: var(--rd-gray-100);
}

.rd-preismigration-import-table th,
.rd-preismigration-import-table td {
	padding: var(--rd-spacing-x-sm) var(--rd-spacing-sm);
	border-bottom: 1px solid var(--rd-border-gray);
	vertical-align: top;
}

/* Import preview: one checkbox per customer; deselected rows fade but stay readable. */
.rd-preismigration-import-table td.rd-preismigration-select {
	width: 1%;
	white-space: nowrap;
}

.rd-preismigration-import-table tr.rd-preismigration-row-excluded td:not(.rd-preismigration-select) {
	opacity: 0.45;
}

.rd-preismigration-old {
	color: var(--rd-gray-600);
	margin-right: var(--rd-spacing-xx-sm);
}

.rd-preismigration-conflict + .rd-preismigration-conflict {
	margin-top: var(--rd-spacing-xx-sm);
}

.rd-preismigration-summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--rd-spacing-sm);
}

.rd-preismigration-dialog .modal_dialog_bottom {
	width: 100%;
	justify-content: flex-end;
}

@media (max-width: 600px) {
	.rd-preismigration-dialog .rd-compact-popup .rd-compact-popup-icon {
		width: var(--rd-spacing-xx-lg);
		height: var(--rd-spacing-xx-lg);
	}

	.rd-preismigration-dialog .rd-compact-popup .rd-compact-popup-title {
		font-size: var(--rd-fontsize-7);
	}

	.rd-preismigration-card {
		padding: var(--rd-spacing-sm);
	}

	.rd-preismigration-prices,
	.rd-preismigration-details {
		grid-template-columns: minmax(0, 1fr);
	}

	.rd-preismigration-dialog .modal_dialog_bottom {
		flex-wrap: wrap;
		gap: var(--rd-spacing-x-sm);
	}

	.rd-preismigration-dialog .modal_dialog_bottom > a {
		flex: 1;
		min-width: 0;
	}
}

.rd-preismigration-fields {
	border: 0;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--rd-spacing-sm);
}

.rd-preismigration-fields .rd-input-row {
	flex-direction: column;
	align-items: stretch;
	margin: 0;
	padding: var(--rd-spacing-x-sm);
	gap: var(--rd-spacing-x-sm);
}

.rd-preismigration-fields .rd-input-row:first-child {
	grid-column: 1 / -1;
}

.rd-preismigration-fields .rd-label-content,
.rd-preismigration-fields .rd-input-content {
	width: 100%;
	max-width: 100%;
	flex: none;
}

.rd-preismigration-fields .rd-label-content label {
	text-align: left;
	font-size: var(--rd-fontsize-4);
}

@media (max-width: 600px) {
	.rd-preismigration-fields { grid-template-columns: minmax(0, 1fr); }
}

.rd-preismigration-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rd-spacing-sm);
	justify-content: flex-end;
}

.rd-preismigration-dialog button:disabled {
	opacity: 0.5;
	pointer-events: none;
}

/* Bulk approval: one header row per price case with a group checkbox. */
.rd-preismigration-import-table tr.rd-preismigration-group-row td {
	background: var(--rd-gray-100);
	border-top: 1px solid var(--rd-border-gray);
}

.rd-preismigration-import-table tr.rd-preismigration-group-row .rd-preismigration-meta {
	margin-left: var(--rd-spacing-x-sm);
}

/* Bulk approval is table-first: small header, tight rows, the table takes the dialog height. */
.rd-preismigration-dialog-compact .rd-preismigration-body {
	gap: var(--rd-spacing-sm);
}

.rd-preismigration-dialog-compact .rd-preismigration-header {
	padding-bottom: 0;
}

.rd-preismigration-dialog-compact .rd-compact-popup .rd-compact-popup-title {
	font-size: var(--rd-fontsize-7);
}

.rd-preismigration-dialog-compact .rd-preismigration-import-table {
	max-height: calc(80vh - 210px);
}

.rd-preismigration-dialog-compact .rd-preismigration-import-table th,
.rd-preismigration-dialog-compact .rd-preismigration-import-table td {
	padding: var(--rd-spacing-xx-sm) var(--rd-spacing-x-sm);
	line-height: var(--rd-lineheights-0);
}

.rd-preismigration-summary-action {
	margin-left: auto;
}
