/**
 * Content modal (AJAX-loaded; trigger via data-rtec-modal-content).
 * Includes: backdrop/dialog, width classes, manage registration tabbed UI,
 * single registration header/event meta, two-column submissions layout.
 *
 * Width is applied by JS from data-rtec-modal-settings (e.g. width: "maximum").
 */

.rtec-content-modal-backdrop,
.rtec-content-modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}
.rtec-content-modal-backdrop.rtec-content-modal-visible,
.rtec-content-modal.rtec-content-modal-visible {
	opacity: 1;
	pointer-events: auto;
}
body.rtec-content-modal-is-open {
	overflow: hidden;
}
.rtec-content-modal-backdrop {
	z-index: 100000;
	background: rgba(0, 0, 0, 0.6);
}
.rtec-content-modal {
	z-index: 100001;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	background: transparent;
	padding: 25px 0;
	overflow-y: auto;
	max-height: 100vh;
}
.rtec-content-modal-dialog {
	position: relative;
	background: #fff;
	border: 1px solid #ccc;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
	border-radius: 4px;
	min-width: 280px;
	width: calc(100vw - 50px);
	max-height: calc(100vh - 50px);
	overflow-y: auto;
	flex-shrink: 0;
}
/* Width classes: one applied by JS from data-rtec-modal-settings (e.g. width: "maximum"). */
.rtec-content-modal-dialog.rtec-narrow-max-width-modal {
	max-width: 600px;
}
.rtec-content-modal-dialog.rtec-small-max-width-modal {
	max-width: 800px;
}
.rtec-content-modal-dialog.rtec-medium-max-width-modal {
	max-width: 1200px;
}
.rtec-content-modal-dialog.rtec-maximum-max-width-modal {
	max-width: 1400px;
}
/* Large viewports: fixed width and center (except maximum stays full-bleed style). */
@media (min-width: 651px) {
	.rtec-content-modal-dialog.rtec-narrow-max-width-modal {
		width: 600px;
		margin-left: 0;
		margin-right: 0;
	}
}
@media (min-width: 801px) {
	.rtec-content-modal-dialog.rtec-small-max-width-modal {
		width: 800px;
		margin-left: 0;
		margin-right: 0;
	}
}
@media (min-width: 1201px) {
	.rtec-content-modal-dialog.rtec-medium-max-width-modal {
		width: 1200px;
		margin-left: 0;
		margin-right: 0;
	}
}
@media (min-width: 1051px) {
	.rtec-content-modal-dialog.rtec-maximum-max-width-modal {
		width: calc(100vw - 50px);
		max-width: 1400px;
		margin-left: 0;
		margin-right: 0;
	}
}
/* Small viewports: reduce gutters. */
@media (max-width: 725px) {
	.rtec-content-modal {
		padding: 15px 0;
	}
	.rtec-content-modal-dialog {
		width: calc(100vw - 30px);
		max-height: calc(100vh - 30px);
	}
}
@media (max-width: 480px) {
	.rtec-content-modal {
		padding: 10px 0;
	}
	.rtec-content-modal-dialog {
		width: calc(100vw - 20px);
		max-height: calc(100vh - 20px);
		min-width: 0;
	}
}

.rtec-content-modal .rtec-content-modal-close {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 2;
	padding: 4px;
	background: transparent;
	border: none;
	cursor: pointer;
	color: #666;
}
.rtec-content-modal .rtec-content-modal-close:hover {
	color: #000;
}
.rtec-content-modal .rtec-content-modal-close .rtec-content-modal-close-icon {
	display: block;
	width: 24px;
	height: 24px;
}
.rtec-content-modal-body {
	margin: 0;
}
/* Event-actions modal: same header as manage registration (.rtec-single-header + .rtec-single-event-meta) */
.rtec-event-actions-modal .rtec-single-header {
	display: flex;
	align-items: center;
	padding: 20px 30px;
	border-bottom: 1px solid #dcdcdc;
}
.rtec-event-actions-modal .rtec-single-header .rtec-manage-registration-heading,
.rtec-event-actions-modal .rtec-single-header .rtec-event-actions-heading-title {
	margin: 0;
	font-size: 24px;
	font-weight: 600;
}
.rtec-event-actions-modal .rtec-single-event-meta {
	padding: 15px 30px;
	border-bottom: 1px solid #dcdcdc;
}
.rtec-event-actions-modal .rtec-single-event-meta > div {
	display: inline-block;
	margin-right: 12px;
}
.rtec-event-actions-modal .rtec-single-event-meta-misc .rtec-event-detail-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.rtec-event-actions-modal .rtec-single-event-meta-misc .rtec-event-detail-item .rtec-icon,
.rtec-event-actions-modal .rtec-single-event-meta-misc .rtec-event-detail-item svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}
/* Event-actions content: dedicated section, gray background, centered (match manage registration) */
.rtec-event-actions-content {
	background: #f9f9f9;
	border-top: 1px solid #dcdcdc;
}
.rtec-event-actions-body {
	padding: 20px 30px 30px;
	max-width: 800px;
	margin: 0 auto;
}
.rtec-event-actions-body .rtec-add-edit-wrap,
.rtec-event-actions-body .rtec-transfer-wrap,
.rtec-event-actions-body .rtec-import-wrap {
	background: #fff;
	border: 1px solid #dcdcdc;
	border-radius: 5px;
	padding: 25px;
	box-sizing: border-box;
}
.rtec-event-actions-body .rtec-email-creator {
	max-width: 100%;
	background: #fff;
	border: 1px solid #dcdcdc;
	border-radius: 5px;
	padding: 25px;
	box-sizing: border-box;
}
.rtec-content-modal-error {
	color: #b32d2e;
	margin: 0;
}
.rtec-content-modal-loading .rtec-content-modal-spinner {
	display: block;
	width: 32px;
	height: 32px;
	margin: 20px auto;
	border: 3px solid #ddd;
	border-top-color: #0073aa;
	border-radius: 50%;
	animation: rtec-content-modal-spin 0.8s linear infinite;
}
@keyframes rtec-content-modal-spin {
	to { transform: rotate(360deg); }
}
/* Manage registration: stack columns on small viewports. */
@media (max-width: 725px) {
	.rtec-manage-registration .rtec-cols,
	.rtec-manage-registration [class*="rtec-modal-col"] {
		display: block;
		width: 100%;
	}
}

/* Manage registration tabbed modal */
.rtec-manage-registration {
	margin: 0;
}
.rtec-manage-registration-heading {
	margin: 0 0 1em;
	font-size: 1.25em;
}
.rtec-manage-registration-tabs .rtec-subnav-tab-list {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 10px 20px;
	gap: 10px;
	background: #f9f9f9;
}
.rtec-manage-registration-tabs .rtec-subnav-tab-list li {
	margin: 0;
}
.rtec-manage-registration-tabs .rtec-subnav-tab {
	display: block;
	padding: 0.5em 0.75em;
	text-decoration: none;
	color: #555;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.rtec-manage-registration-tabs .rtec-subnav-tab:hover {
	color: #0073aa;
}
.rtec-manage-registration-tabs .rtec-subnav-tab.rtec-subnav-tab-active {
	color: #0073aa;
	border-bottom-color: #0073aa;
	font-weight: 600;
}
.rtec-manage-registration-panels .rtec-manage-tab-panel {
	margin: 0;
}

/* Single registration manager: header, event meta, two-column submissions tab */
.rtec-single-registration-manager .rtec-single-header {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px 20px;
	padding: 20px 30px;
	border-bottom: 1px solid #dcdcdc;
	background: #fff;
}
.rtec-single-registration-manager .rtec-single-header .rtec-manage-registration-heading {
	margin: 0;
	font-size: 24px;
}
.rtec-single-registration-manager .rtec-single-header .rtec-registration-column-status {
	width: auto;
	padding: 6px 15px;
}
.rtec-single-registration-manager .rtec-single-header .rtec-quantity-cost {
	display: flex;
	align-items: center;
}
.rtec-single-registration-manager .rtec-single-header .rtec-icon-text {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.rtec-single-registration-manager .rtec-single-header .rtec-icon-text .rtec-icon,
.rtec-single-registration-manager .rtec-single-header .rtec-icon-text svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

.rtec-single-registration-manager .rtec-single-event-meta {
	padding: 15px 30px;
	border-bottom: 1px solid #dcdcdc;
}
.rtec-single-registration-manager .rtec-single-event-meta > div {
	display: inline-block;
	margin-right: 12px;
	margin-bottom: 4px;
}
.rtec-single-registration-manager .rtec-single-event-meta-misc .rtec-event-detail-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: 16px;
}
.rtec-single-registration-manager .rtec-single-event-meta-misc .rtec-event-detail-item .rtec-icon,
.rtec-single-registration-manager .rtec-single-event-meta-misc .rtec-event-detail-item svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}
.rtec-single-registration-content {
	padding: 20px 30px 30px;
	background: #f9f9f9;
}
.rtec-single-registration-content.rtec-2-column-wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;

}
.rtec-single-registration-content .rtec-dashboard-item {
	background: #fff;
	border: 1px solid #dcdcdc;
	border-radius: 5px;
	padding: 25px;
	margin-bottom: 20px;
	box-sizing: border-box;
}
.rtec-contact-email-form-wrap {
	max-width: 670px;
	margin: auto;
}
.rtec-single-registration-content .rtec-dashboard-item:last-child {
	margin-bottom: 0;
}
.rtec-single-registration-content .rtec-dashboard-item-header {
	padding-bottom: 16px;
	border-bottom: 1px solid #dcdcdc;
	margin-bottom: 18px;
	font-size: 15px;
}
.rtec-single-registration-content .rtec-dashboard-item-header h3 {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

/* User info block (column 2) */
.rtec-user-info .rtec-user-header {
	display: flex;
	align-items: flex-start;
	margin-bottom: 20px;
}
.rtec-user-info .rtec-user-avatar {
	margin-right: 20px;
	flex-shrink: 0;
}
.rtec-user-info .rtec-user-meta h4 {
	margin: 0 0 5px 0;
}
.rtec-user-info .rtec-username {
	color: #666;
	margin: 0 0 10px 0;
}
.rtec-user-info .rtec-user-details {
	border-top: 1px solid #eee;
	padding-top: 20px;
}
.rtec-user-info .rtec-user-details p {
	margin: 0 0 10px 0;
}
.rtec-user-info .rtec-user-actions {
	margin-top: 20px;
}
.rtec-user-info .rtec-no-user {
	color: #666;
	font-style: italic;
}

/* Form fields inside Registration Details */
.rtec-single-registration-content .rtec-edit-form-field {
	margin-bottom: 16px;
}
.rtec-single-registration-content .rtec-edit-form-field label {
	display: block;
	margin-bottom: 4px;
}
.rtec-single-registration-content .rtec-form-button-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding: 20px 0 0;
}
.rtec-single-registration-content .rtec-form-button-wrapper .rtec-delete-registration-button {
	margin-left: auto;
}
.rtec-single-registration-content .rtec-form-button-wrapper .rtec-delete-registration-button.rtec-button {
	border-color: #d63638;
	color: #d63638;
	background: #fff;
}
.rtec-single-registration-content .rtec-form-button-wrapper .rtec-delete-registration-button.rtec-button:hover {
	background: #d63638;
	color: #fff;
	border-color: #d63638;
}

/* Related / group tables */
.rtec-single-registration-content .rtec-registration-group-table,
.rtec-single-registration-content .rtec-related-registrations-table {
	margin: 0;
}
.rtec-single-registration-content .rtec-no-related {
	margin: 0;
	color: #666;
	font-style: italic;
}

/* Payment tab: read-only grid and empty state */
.rtec-payment-info-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 15px;
}
.rtec-payment-info-item {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.rtec-payment-info-item label {
	font-size: 12px;
	font-weight: 500;
	color: #646970;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.rtec-payment-info-item .rtec-payment-status {
	align-self: flex-start;
	width: fit-content;
	max-width: 100%;
	font-weight: 600;
	padding: 4px 8px;
	border-radius: 4px;
}
/* Modal markup uses rtec-payment-status-{slug}; keep .{slug} for any legacy rows. */
.rtec-payment-info-item .rtec-payment-status.rtec-payment-status-pending,
.rtec-payment-info-item .rtec-payment-status.pending,
.rtec-payment-info-item .rtec-payment-status.rtec-payment-status-none,
.rtec-payment-info-item .rtec-payment-status.none { background: #fff3cd; color: #856404; }
.rtec-payment-info-item .rtec-payment-status.rtec-payment-status-complete,
.rtec-payment-info-item .rtec-payment-status.complete { background: #d4edda; color: #155724; }
.rtec-payment-info-item .rtec-payment-status.rtec-payment-status-manual,
.rtec-payment-info-item .rtec-payment-status.rtec-payment-status-offline,
.rtec-payment-info-item .rtec-payment-status.offline { background: #e2e3e5; color: #383d41; }
.rtec-payment-info-item .rtec-payment-status.rtec-payment-status-refunded,
.rtec-payment-info-item .rtec-payment-status.refunded { background: #f8d7da; color: #721c24; }
.rtec-payment-info-item .rtec-payment-status.rtec-payment-status-canceled,
.rtec-payment-info-item .rtec-payment-status.canceled { background: #f8d7da; color: #721c24; }
.rtec-payment-info-item .rtec-payment-status.rtec-payment-status-error,
.rtec-payment-info-item .rtec-payment-status.error { background: #ffe8d1; color: #b45309; }
.rtec-payment-info-item .rtec-payment-status.rtec-payment-status-abandoned,
.rtec-payment-info-item .rtec-payment-status.abandoned { background: #fff3cd; color: #856404; }
.rtec-payment-info-item .rtec-payment-status.rtec-payment-status-processing,
.rtec-payment-info-item .rtec-payment-status.processing { background: #cce5ff; color: #004085; }
.rtec-payment-amount {
	font-weight: 600;
	color: #00a32a;
}
.rtec-no-payment-record {
	text-align: center;
	padding: 30px 20px;
	color: #646970;
}
.rtec-no-payment-record p {
	margin: 0 0 10px 0;
	font-size: 16px;
}

/* Contact tab: email form in dashboard-item (uses same .rtec-email-creator flex layout) */
.rtec-manage-tab-contact.rtec-single-registration-content {
	padding: 20px 30px 30px;
}
.rtec-contact-email-form-wrap .rtec-dashboard-item-content {
	padding-top: 0;
}
.rtec-contact-email-form-wrap .rtec-email-recpients-wrap {
	min-height: 36px;
}
.rtec-email-creator-options-top-row {
	display: flex;
	flex-shrink: 0;
	width: 100%;
	gap: 20px;

}
.rtec-single-recipient .rtec-single-recipient-identity {
	margin-right: 4px;
}

@media (max-width: 1150px) {
	.rtec-single-registration-content.rtec-2-column-wrapper {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 600px) {
	.rtec-single-registration-manager .rtec-single-header {
		padding: 16px 20px;
		flex-direction: column;
		align-items: flex-start;
	}
	.rtec-single-registration-manager .rtec-single-event-meta {
		padding: 12px 20px;
	}
	.rtec-single-registration-content.rtec-2-column-wrapper {
		padding: 16px 20px 24px;
	}
	.rtec-single-registration-content .rtec-dashboard-item {
		padding: 18px;
	}
	.rtec-event-actions-modal .rtec-single-header {
		padding: 16px 20px;
	}
	.rtec-event-actions-modal .rtec-single-event-meta {
		padding: 12px 20px;
	}
	.rtec-event-actions-body {
		padding: 16px 20px 24px;
	}
	.rtec-event-actions-body .rtec-add-edit-wrap,
	.rtec-event-actions-body .rtec-transfer-wrap,
	.rtec-event-actions-body .rtec-import-wrap,
	.rtec-event-actions-body .rtec-email-creator {
		padding: 18px;
	}
}

/* Email template management modal (Manage Emails) */
.rtec-email-templates-modal .rtec-modal-heading {
	padding: 16px 20px;
	border-bottom: 1px solid #dcdcdc;
}
.rtec-email-templates-modal .rtec-templates-actions-bar {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 16px;
}
.rtec-email-templates-modal .rtec-modal-heading h2 {
	margin: 0;
	font-size: 1.25rem;
}
.rtec-email-templates-modal .rtec-modal-body-pad {
	padding: 20px;
}
.rtec-table-filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 4px 0;
	border-bottom: 1px solid #c3c4c7;
}
#rtec-email-template-form {
	max-width: 700px;
	margin: auto;
}

#rtecEmailTemplateContent {
	width: 100%;
}
.rtec-filter-controls {
	display: flex;
	align-items: center;
	gap: 8px;
}
.rtec-filter-label {
	margin: 0;
	font-weight: 500;
}
.rtec-table-search input[type="search"] {
	margin-right: 8px;
}
.rtec-templates-table-wrapper .wp-list-table {
	margin: 0 0 12px 0;
}
.rtec-category-tag {
	display: inline-block;
	padding: 2px 8px;
	background: #f0f0f1;
	border-radius: 3px;
	font-size: 12px;
}
.rtec-email-templates-modal .row-actions {
	visibility: visible;
}
.rtec-email-templates-modal .tablenav-pages {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}
.rtec-email-templates-modal .paging-input {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.rtec-email-templates-modal .current-page {
	width: 3em;
	text-align: center;
}
.rtec-email-template-modal-content .rtec-modal-heading {
	padding: 16px 20px;
	border-bottom: 1px solid #dcdcdc;
}
.rtec-email-template-modal-content .rtec-modal-heading h2 {
	margin: 0;
	font-size: 1.25rem;
}
.rtec-email-template-modal-content .rtec-modal-pad {
	padding: 20px;
}
.rtec-email-template-modal-content .rtec-field-wrapper {
	margin-bottom: 16px;
}
.rtec-email-template-modal-content .rtec-label-wrapper label {
	font-weight: 600;
	font-size: 13px;
}
.rtec-email-template-modal-content .rtec-input {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
/* Template name + category: two columns; each column is label stacked above control */
.rtec-email-template-modal-content .rtec-template-name-category-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}
.rtec-email-template-modal-content .rtec-template-field-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.rtec-email-template-modal-content .rtec-template-field-label {
	font-weight: 600;
	font-size: 13px;
	margin: 0;
	line-height: 1.4;
}
@media (max-width: 600px) {
	.rtec-email-template-modal-content .rtec-template-name-category-row {
		grid-template-columns: 1fr;
	}
}
.rtec-email-template-modal-content .rtec-field-description {
	margin: 6px 0 0;
	font-size: 12px;
	color: #646970;
}
.rtec-email-template-modal-content .rtec-rich-textarea {
	width: 100%;
	min-height: 200px;
	box-sizing: border-box;
}
.rtec-email-template-modal-content .rtec-form-actions {
	display: flex;
	gap: 10px;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid #dcdcdc;
}
.rtec-manage-emails-button,
.rtec-email-settings-manage-wrap .rtec-button {
	height: 36px;
	padding: 0 14px;
}
.rtec-manage-emails-trigger {
	margin-left: 8px;
}
#rtecCustomEmail {
	width: 100%;
}