#adminmenu a[href="admin.php?page=msspay-account-detail"] {
	display: none;
}

.msspay-directory-avatar {
	border: 2px solid #dbeafe;
	border-radius: 999px;
	box-shadow: 0 6px 16px rgba(26, 99, 175, 0.12);
	display: inline-flex;
	height: 38px;
	object-fit: cover;
	width: 38px;
}

.msspay-directory-avatar--initials {
	align-items: center;
	background: #eef6ff;
	color: #0f477f;
	font-family: var(--mss-font-heading, "Outfit", sans-serif);
	font-size: 13px;
	font-weight: 900;
	justify-content: center;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-directory-configured {
	align-items: center;
	color: #16a34a;
	display: inline-flex;
	font-size: 20px;
	justify-content: center;
	line-height: 1;
}

.msspay-directory-incomplete {
	align-items: center;
	color: #dc2626;
	display: inline-flex;
	font-size: 20px;
	justify-content: center;
	line-height: 1;
}

.msspay-worker-games-table .msspay-check-column input[type="checkbox"],
.msspay-issue-item-card__select input[type="checkbox"] {
	height: 24px;
	width: 24px;
}

.msspay-sport-icon-cell {
	align-items: center;
	background: #eaf4ff;
	border: 1px solid #cfe2f5;
	border-radius: 999px;
	color: #164b82;
	display: inline-flex;
	font-size: 18px;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.msspay-sport-icon-cell:empty {
	background: transparent;
	border-color: transparent;
}

.msspay-admin .widefat.msspay-games-table tbody tr.msspay-game-row > td,
.msspay-admin .widefat.msspay-games-table tbody tr.msspay-game-row:nth-child(odd) > td {
	background: var(--msspay-game-status-bg, #fff);
}

.msspay-admin .widefat.msspay-games-table tbody tr.msspay-game-row > td:first-child {
	border-left: 6px solid var(--msspay-game-status-color, transparent);
}

.msspay-admin .widefat.msspay-games-table .button.msspay-assignments-trigger {
	align-items: center;
	background: var(--msspay-assignment-state-color, var(--msspay-blue)) !important;
	border-color: var(--msspay-assignment-state-color, var(--msspay-blue)) !important;
	box-shadow: none;
	color: #fff !important;
	display: inline-flex;
	font-weight: 900;
	gap: 7px;
	height: 34px;
	justify-content: center;
	min-width: 54px;
	padding: 0 12px;
}

.msspay-admin .widefat.msspay-games-table .button.msspay-assignments-trigger--pending {
	color: #231f20 !important;
}

.msspay-admin .widefat.msspay-games-table .button.msspay-assignments-trigger:hover,
.msspay-admin .widefat.msspay-games-table .button.msspay-assignments-trigger:focus {
	background: var(--msspay-assignment-state-color, var(--msspay-blue)) !important;
	border-color: var(--msspay-assignment-state-color, var(--msspay-blue)) !important;
	color: #fff !important;
	filter: brightness(0.95);
	transform: none;
}

.msspay-admin .widefat.msspay-games-table .button.msspay-assignments-trigger--pending:hover,
.msspay-admin .widefat.msspay-games-table .button.msspay-assignments-trigger--pending:focus {
	color: #231f20 !important;
}

.msspay-games-table--group-links tbody tr.msspay-game-row--linked {
	background: linear-gradient(90deg, rgba(26, 99, 175, 0.08), var(--msspay-game-status-bg, #fff) 40%);
}

.msspay-games-table--group-links tbody tr.msspay-game-row--linked > td,
.msspay-games-table--group-links tbody tr.msspay-game-row--linked:nth-child(odd) > td {
	background: transparent !important;
}

.msspay-games-table--group-links .msspay-game-teams-cell {
	position: relative;
}

.msspay-games-table--group-links .msspay-game-row--linked .msspay-game-teams-cell {
	padding-left: 32px;
}

.msspay-games-table--group-links .msspay-game-row--linked .msspay-game-teams-cell::before {
	background: #9cc8f5;
	bottom: 0;
	content: "";
	left: 14px;
	position: absolute;
	top: 0;
	width: 3px;
}

.msspay-games-table--group-links .msspay-game-row--linked-first .msspay-game-teams-cell::before {
	top: 50%;
}

.msspay-games-table--group-links .msspay-game-row--linked-last .msspay-game-teams-cell::before {
	bottom: 50%;
}

.msspay-games-table--group-links .msspay-game-row--linked-single .msspay-game-teams-cell::before {
	bottom: 32%;
	top: 32%;
}

.msspay-games-table--group-links .msspay-game-row--linked .msspay-game-teams-cell::after {
	background: #9cc8f5;
	border-radius: 999px;
	content: "";
	height: 3px;
	left: 14px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
}

.msspay-link-cluster {
	align-items: center;
	background: #eaf4ff;
	border: 1px solid #cfe2f5;
	border-radius: 999px;
	color: #164b82;
	display: inline-flex;
	gap: 8px;
	min-height: 34px;
	padding: 6px 12px;
	white-space: nowrap;
}

.msspay-link-cluster i {
	font-size: 14px;
}

.msspay-link-cluster span {
	display: grid;
	gap: 1px;
	line-height: 1.1;
}

.msspay-link-cluster strong {
	color: #164b82;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.msspay-link-cluster small {
	color: #64748b;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
}

.msspay-link-cluster--single {
	background: transparent;
	border-color: #e2e8f0;
	color: #64748b;
	font-weight: 800;
}

.msspay-assignments-drawer-overlay {
	background: rgba(15, 23, 42, 0.45);
	bottom: 0;
	left: 0;
	position: fixed;
	right: 0;
	top: var(--wp-admin--admin-bar--height, 0);
	z-index: 9999;
}

.msspay-assignments-drawer-overlay[hidden] {
	display: none;
}

.msspay-assignments-drawer-panel {
	background: #fff;
	border-left: 1px solid #dbe7f5;
	box-shadow: -18px 0 42px rgba(15, 23, 42, 0.24);
	height: 100%;
	margin-left: auto;
	max-width: min(440px, 92vw);
	overflow: auto;
	padding: 24px;
	width: 440px;
}

.msspay-assignments-drawer-panel--bulk {
	max-width: min(860px, 94vw);
	width: 860px;
}

.msspay-assignments-drawer-header {
	align-items: flex-start;
	border-bottom: 1px solid #e2e8f0;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin: 0 0 18px;
	padding: 0 0 18px;
}

.msspay-assignments-drawer-header > div:first-child {
	min-width: 0;
}

.msspay-assignments-drawer-header__controls,
.msspay-assignments-drawer-header__actions {
	align-items: center;
	display: flex;
	gap: 8px;
}

.msspay-assignments-drawer-header__controls {
	flex: 0 0 auto;
	justify-content: flex-end;
	margin-left: auto;
	min-height: 42px;
}

.msspay-assignments-drawer-header__actions:empty {
	display: none;
}

.msspay-assignments-drawer-header h2 {
	font-size: 1.4rem;
	margin: 0 0 6px;
}

.msspay-assignments-drawer-header p {
	color: #64748b;
	font-weight: 800;
	margin: 0;
}

.msspay-assignments-drawer-header .msspay-eyebrow {
	color: #1a63af;
	margin: 0 0 4px;
}

.msspay-assignments-drawer-list {
	display: grid;
	gap: 12px;
}

.msspay-assignments-drawer-item {
	background: #f8fafc;
	border: 1px solid #dbe7f5;
	border-radius: 10px;
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 14px;
}

.msspay-assignments-drawer-item span {
	color: #64748b;
	display: block;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.msspay-assignments-drawer-item strong {
	color: #231f20;
	display: block;
	font-size: 14px;
	font-weight: 900;
	overflow-wrap: anywhere;
}

.msspay-assignments-drawer-item__footer {
	align-items: center;
	border-top: 1px solid #dbe7f5;
	display: flex;
	grid-column: 1 / -1;
	justify-content: space-between;
	padding-top: 12px;
}

.msspay-assignments-drawer-item__footer .msspay-status {
	border-radius: 999px;
	display: inline-flex;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	margin: 0;
	padding: 6px 9px;
	text-transform: uppercase;
}

.msspay-assignments-drawer-item__footer .msspay-assignment-status-draft,
.msspay-assignments-drawer-item__footer .msspay-assignment-status-assigned {
	background: #fff4c2;
	color: #6f4d00;
}

.msspay-assignments-drawer-item__footer .msspay-assignment-status-accepted,
.msspay-assignments-drawer-item__footer .msspay-assignment-status-completed {
	background: #d7f5df;
	color: #135f2b;
}

.msspay-assignments-drawer-item__footer .msspay-assignment-status-declined {
	background: #f8d7da;
	color: #7f1d1d;
}

.msspay-assignments-drawer-item__actions {
	align-items: center;
	display: flex;
	gap: 8px;
}

.msspay-assignments-drawer-actions,
.msspay-game-row-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.msspay-assignments-drawer-actions {
	border-bottom: 1px solid #e2e8f0;
	margin-bottom: 18px;
	padding-bottom: 18px;
}

.msspay-game-row-actions {
	justify-content: flex-end;
	white-space: nowrap;
}

.msspay-game-row-actions .msspay-inline-form {
	display: inline-flex;
	margin: 0;
}

.msspay-quick-assign {
	border-top: 1px solid #e2e8f0;
	margin-top: 18px;
	padding-top: 18px;
}

.msspay-quick-assign h3 {
	font-size: 1rem;
	margin: 0 0 12px;
}

.msspay-quick-assign-list {
	display: grid;
	gap: 12px;
}

.msspay-quick-assign-form {
	align-items: end;
	background: #f8fafc;
	border: 1px solid #dbe7f5;
	border-radius: 10px;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(0, 1fr) 92px auto;
	padding: 12px;
}

.msspay-quick-assign-form label,
.msspay-quick-assign-form .msspay-quick-assign-position {
	margin: 0;
}

.msspay-quick-assign-official-field,
.msspay-quick-assign-official-field select {
	min-width: 0;
	width: 100%;
}

.msspay-quick-assign-wage-field {
	max-width: 92px;
	width: 92px;
}

.msspay-quick-assign-wage-field input {
	min-width: 0;
	width: 100%;
}

.msspay-quick-assign-form label span,
.msspay-quick-assign-position span {
	color: #64748b;
	display: block;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.msspay-quick-assign-position {
	grid-column: 1 / -1;
}

.msspay-quick-assign-position strong {
	color: #231f20;
	display: block;
	font-size: 15px;
	font-weight: 900;
	overflow-wrap: anywhere;
}

.msspay-quick-assign-form .msspay-error-text {
	grid-column: 1 / -1;
	margin: -2px 0 0;
}

.msspay-bulk-quick-assign-groups {
	display: grid;
	gap: 16px;
}

.msspay-bulk-quick-assign-group {
	background: #fff;
	border: 1px solid #dbe7f5;
	border-radius: 8px;
	padding: 16px;
}

.msspay-bulk-quick-assign-group__header {
	align-items: flex-start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 12px;
}

.msspay-bulk-quick-assign-group__header h3 {
	font-size: 1rem;
	margin: 0 0 4px;
}

.msspay-bulk-quick-assign-group__header p {
	color: #64748b;
	font-size: 13px;
	font-weight: 800;
	margin: 0;
}

.msspay-bulk-quick-assign-slots {
	display: grid;
	gap: 10px;
}

.msspay-bulk-quick-assign-row {
	align-items: end;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(120px, 0.65fr) minmax(280px, 1.9fr) 92px;
	padding: 12px;
}

.msspay-bulk-quick-assign-row label,
.msspay-bulk-quick-assign-row .msspay-quick-assign-position {
	margin: 0;
}

.msspay-bulk-quick-assign-row label span {
	color: #64748b;
	display: block;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.msspay-bulk-quick-assign-row .msspay-quick-assign-position small {
	color: #64748b;
	display: block;
	font-size: 11px;
	font-weight: 700;
	margin-top: 3px;
}

.msspay-bulk-quick-assign-row .msspay-quick-assign-official-field {
	grid-column: 1 / 3;
}

.msspay-bulk-quick-assign-row .msspay-quick-assign-wage-field {
	grid-column: 3;
}

.msspay-bulk-quick-assign-feedback {
	margin-top: 16px;
}

.msspay-bulk-quick-assign-feedback [data-msspay-bulk-quick-assign-notice] {
	margin: 0;
}

.msspay-bulk-quick-assign-feedback [data-msspay-bulk-quick-assign-notice] ul {
	margin: 8px 0;
}

.msspay-error-text {
	color: #a33a21;
	font-weight: 800;
}

.msspay-success-text {
	background: #d7f5df;
	border-radius: 10px;
	color: #135f2b;
	font-weight: 900;
	margin: 0 0 14px;
	padding: 10px 12px;
}

.msspay-assignment-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.msspay-assignment-actions .msspay-inline-form {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	margin: 0;
}

.msspay-assignment-actions select {
	min-width: 140px;
}

.msspay-sort-link {
	align-items: center;
	color: inherit;
	display: inline-flex;
	gap: 7px;
	text-decoration: none;
}

.msspay-sort-link:hover,
.msspay-sort-link:focus,
.msspay-sort-link.is-active {
	color: #1a63af;
	text-decoration: none;
}

.msspay-admin .form-table th,
.msspay-admin .form-table td {
	border-bottom: 1px solid #e2e8f0;
	display: block;
	padding: 10px 0;
	text-align: left;
	width: 100%;
}

.msspay-admin .form-table th {
	border-bottom: 0;
	color: #475569;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-admin .msspay-status {
	border-radius: 999px;
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	padding: 6px 9px;
}

.msspay-position-pill {
	background: #eef2f7;
	border: 1px solid #d8e1ee;
	border-radius: 999px;
	color: #64748b;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	margin: 2px 4px 2px 0;
	padding: 5px 8px;
	text-transform: uppercase;
}

.msspay-status-pending_email,
.msspay-status-pending_review {
	background: #fff4c2;
	color: #6f4d00;
}

.msspay-status-active {
	background: #d7f5df;
	color: #135f2b;
}

.msspay-status-rejected,
.msspay-status-disabled,
.msspay-invitation-status-send_failed,
.msspay-invitation-status-account_exists {
	background: #f8d7da;
	color: #7f1d1d;
}

.msspay-invitation-status-pending {
	background: #fff4c2;
	color: #6f4d00;
}

.msspay-invitation-status-accepted {
	background: #d7f5df;
	color: #135f2b;
}

.msspay-conduct-signature-preview {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	margin-top: 16px;
	padding: 12px;
}

.msspay-conduct-signature-preview img {
	display: block;
	height: auto;
	max-height: 150px;
	max-width: 100%;
}

.msspay-code-conduct-print-shell {
	background: #f8fafc;
	min-height: 100vh;
	padding: 24px;
}

.msspay-code-conduct-print-actions {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	margin: 0 auto 18px;
	max-width: 8.5in;
}

.msspay-code-conduct-print-page {
	background: #fff;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
	color: #111827;
	font-family: "Noto Sans", Arial, sans-serif;
	margin: 0 auto;
	min-height: 11in;
	padding: 0.6in;
	width: 8.5in;
}

.msspay-code-conduct-print-page header {
	border-bottom: 2px solid #111827;
	margin-bottom: 24px;
	padding-bottom: 16px;
	text-align: center;
}

.msspay-code-conduct-print-page h1,
.msspay-code-conduct-print-page h2 {
	font-family: "Outfit", Arial, sans-serif;
	letter-spacing: 1.2px;
	margin: 0;
	text-transform: uppercase;
}

.msspay-code-conduct-print-page header p {
	font-weight: 700;
	margin: 6px 0 0;
}

.msspay-code-conduct-print-meta {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 24px;
}

.msspay-code-conduct-print-meta div,
.msspay-code-conduct-print-signature div {
	border: 1px solid #d1d5db;
	border-radius: 4px;
	padding: 10px;
}

.msspay-code-conduct-print-meta strong,
.msspay-code-conduct-print-signature strong {
	display: block;
	font-size: 11px;
	letter-spacing: 1px;
	margin-bottom: 4px;
	text-transform: uppercase;
}

.msspay-code-conduct-print-terms {
	border-bottom: 1px solid #d1d5db;
	border-top: 1px solid #d1d5db;
	margin-bottom: 24px;
	padding: 18px 0 8px;
}

.msspay-code-conduct-print-terms h2 {
	font-size: 18px;
	margin-bottom: 12px;
}

.msspay-code-conduct-print-terms p {
	font-size: 13px;
	line-height: 1.55;
	margin: 0 0 10px;
}

.msspay-code-conduct-print-signature {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
	margin-bottom: 24px;
}

.msspay-code-conduct-print-signature img,
.msspay-code-conduct-print-empty {
	border: 1px solid #d1d5db;
	border-radius: 4px;
	display: block;
	height: 130px;
	object-fit: contain;
	padding: 10px;
	width: 100%;
}

.msspay-code-conduct-print-empty {
	align-items: center;
	color: #64748b;
	display: flex;
	justify-content: center;
}

.msspay-code-conduct-print-page footer {
	color: #64748b;
	display: grid;
	font-size: 10px;
	gap: 6px;
	word-break: break-all;
}

@media print {
	body:has(.msspay-code-conduct-print-page) {
		background: #fff !important;
	}

	.msspay-code-conduct-print-shell {
		background: #fff;
		min-height: auto;
		padding: 0;
	}

	.msspay-code-conduct-print-page {
		box-shadow: none;
		margin: 0;
		min-height: auto;
		width: auto;
	}
}

.msspay-invitation-status-expired,
.msspay-invitation-status-superseded,
.msspay-invitation-status-cancelled {
	background: #e2e8f0;
	color: #475569;
}

.msspay-capability-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.msspay-capability-pill {
	border-radius: 999px;
	display: inline-block;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	padding: 6px 9px;
}

.msspay-capability-pill.has-cap {
	background: #d7f5df;
	color: #135f2b;
}

.msspay-capability-pill.no-cap {
	background: #e2e8f0;
	color: #475569;
}

.msspay-inline-form {
	display: inline-block;
	margin: 0 4px 4px 0;
}

.msspay-row-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.msspay-row-actions .msspay-inline-form {
	margin: 0;
}

.msspay-role-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px;
}

.msspay-role-table {
	border-collapse: collapse;
	margin: 0;
	width: 100%;
}

.msspay-role-table th,
.msspay-role-table td {
	border-bottom: 1px solid #f1f5f9;
	padding: 10px 0;
	text-align: left;
	vertical-align: middle;
}

.msspay-role-table tr:last-child th,
.msspay-role-table tr:last-child td {
	border-bottom: 0;
}

.msspay-role-table th {
	color: #475569;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	width: 45%;
}

.msspay-role-table td {
	text-align: right;
}

.msspay-role-table .msspay-inline-form {
	margin: 0;
}

.msspay-muted-text {
	color: #64748b;
	font-weight: 700;
}

.msspay-worker-games-filter .msspay-filter-section--date {
	align-items: end;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(220px, 320px) auto;
}

.msspay-worker-games-filter .msspay-filter-section--date .msspay-filter-row {
	grid-template-columns: minmax(220px, 320px);
}

.msspay-worker-games-filter .msspay-filter-date-controls {
	align-items: end;
	display: flex;
	flex-wrap: nowrap;
	gap: 12px;
}

.msspay-worker-games-filter .msspay-filter-actions {
	align-self: end;
}

.msspay-games-view-panel {
	margin-bottom: 18px;
}

.msspay-games-view-panel .msspay-collapsible-card__header h2 {
	align-items: center;
	display: flex;
	gap: 10px;
}

.msspay-view-title-icon {
	align-items: center;
	background: #eaf4ff;
	border: 1px solid #cfe2f5;
	border-radius: 999px;
	color: #164b82;
	display: inline-flex;
	font-size: 16px;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.msspay-games-view-panel .msspay-admin-filters {
	box-shadow: none;
	margin: 0;
}

.msspay-games-view-form {
	align-items: stretch;
	background: transparent;
	border: 0;
	display: block;
	grid-template-columns: 1fr;
	overflow: hidden;
	padding: 18px;
}

.msspay-games-view-form [hidden] {
	display: none !important;
}

.msspay-view-layout {
	display: grid;
	gap: 16px;
	min-width: 0;
	width: 100%;
}

.msspay-view-section {
	background: #fff;
	border: 1px solid #dbe7f5;
	border-radius: 14px;
	display: grid;
	gap: 12px;
	margin: 0;
	min-width: 0;
	overflow: hidden;
	padding: 18px;
}

.msspay-view-section:first-child {
	border: 1px solid #dbe7f5;
	padding: 18px;
}

.msspay-view-section h3 {
	color: #231f20;
	font-size: 18px;
	margin: 0;
}

.msspay-view-tools-grid {
	align-items: end;
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-width: 0;
	width: 100%;
}

.msspay-games-view-form .msspay-view-section label,
.msspay-games-view-form .msspay-view-section select,
.msspay-games-view-form .msspay-view-section input:not([type="checkbox"]) {
	max-width: 100%;
	min-width: 0;
	width: 100%;
}

.msspay-games-view-form .msspay-view-section label {
	gap: 4px;
}

.msspay-games-view-form .msspay-view-section select,
.msspay-games-view-form .msspay-view-section input:not([type="checkbox"]) {
	min-height: 42px;
}

.msspay-games-view-form .msspay-view-section--filters .msspay-filter-row {
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	min-width: 0;
	width: 100%;
}

.msspay-games-view-form .msspay-filter-row--date {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	justify-content: stretch;
	min-width: 0;
	width: 100%;
}

.msspay-games-view-form .msspay-filter-date-field {
	width: 100%;
}

.msspay-view-actions {
	align-items: end;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	grid-column: 1 / -1;
	justify-content: flex-start;
	min-width: 0;
}

.msspay-view-actions .button span {
	color: inherit;
	font-size: inherit;
	letter-spacing: 0;
	text-transform: none;
}

.msspay-view-toggle-row {
	align-items: end;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(100px, 140px) repeat(2, minmax(120px, 165px));
	justify-content: start;
	min-width: 0;
}

.msspay-column-checklist {
	display: grid;
	gap: 10px 12px;
	grid-template-columns: repeat(auto-fit, minmax(122px, 1fr));
	min-width: 0;
	width: 100%;
}

.msspay-view-filter-actions {
	grid-column: auto;
	justify-content: flex-end;
	width: 100%;
}

.msspay-view-panel-actions {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	min-width: 0;
	width: 100%;
}

.msspay-facilities-table .msspay-facility-row--subsite td:first-child {
	padding-left: 32px;
}

.msspay-facility-subsite-content {
	display: inline-grid;
	gap: 2px;
	position: relative;
}

.msspay-facility-subsite-indent {
	border-bottom: 1px solid #cbd5e1;
	border-left: 1px solid #cbd5e1;
	border-bottom-left-radius: 8px;
	display: inline-block;
	height: 18px;
	margin-right: 10px;
	vertical-align: top;
	width: 18px;
}

.msspay-facility-pill {
	background: #f1f5f9;
	border: 1px solid #dbe5ef;
	border-radius: 999px;
	color: #475569;
	display: inline-flex;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.05em;
	line-height: 1;
	margin: 2px 6px 2px 0;
	padding: 7px 10px;
	text-transform: uppercase;
}

.msspay-worker-assignment-response-form {
	margin: 0;
}

.msspay-worker-games-empty {
	align-items: center;
	background: #eaf4ff;
	border: 1px solid #bfdbfe;
	border-radius: 10px;
	color: #154f8f;
	display: flex;
	font-family: var(--mss-font-heading, inherit);
	font-weight: 900;
	gap: 10px;
	letter-spacing: 0.02em;
	margin: 0;
	padding: 14px 16px;
}

.msspay-worker-games-empty i {
	font-size: 1.25rem;
}

.msspay-worker-games-table__actions-heading {
	width: 92px;
}

.msspay-worker-games-table__actions {
	text-align: right;
	white-space: nowrap;
}

.msspay-worker-games-table__actions .button {
	align-items: center;
	display: inline-flex;
	gap: 7px;
	justify-content: center;
}

.msspay-worker-game-card-grid,
.msspay-worker-assignment-game-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msspay-worker-game-link-card {
	background: #fff;
	border: 1px solid #dbe5ef;
	border-radius: 10px;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
	overflow: hidden;
}

.msspay-worker-game-link-card__header,
.msspay-worker-game-link-card__footer {
	display: grid;
	gap: 14px;
	padding: 16px 18px;
}

.msspay-worker-game-link-card__header {
	background: linear-gradient(135deg, #1a63af 0%, #231f20 100%);
	color: #fff;
	grid-template-columns: minmax(140px, 0.75fr) minmax(220px, 1fr);
}

.msspay-worker-game-link-card--detail .msspay-worker-game-link-card__header {
	grid-template-columns: 1fr;
}

.msspay-worker-game-link-card__header span,
.msspay-worker-game-link-card__footer span,
.msspay-worker-score-entry label,
.msspay-worker-score-entry__team > strong {
	display: block;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.msspay-worker-game-link-card__header span {
	color: rgba(255, 255, 255, 0.72);
}

.msspay-worker-game-link-card__header strong,
.msspay-worker-game-link-card__footer strong {
	display: block;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.35;
	margin-top: 5px;
}

.msspay-worker-game-link-card__headline strong {
	font-size: 18px;
	margin-top: 0;
}

.msspay-worker-game-link-card__games {
	display: grid;
}

.msspay-worker-game-link-card__game-row {
	align-items: center;
	border-bottom: 1px solid #edf2f7;
	display: grid;
	gap: 14px;
	grid-template-columns: 120px minmax(0, 1fr);
	padding: 13px 18px;
}

.msspay-worker-game-link-card__game-row:last-child {
	border-bottom: 0;
}

.msspay-worker-game-link-card__game-row span {
	color: #64748b;
	font-weight: 900;
}

.msspay-worker-game-link-card__game-row strong {
	color: #231f20;
	font-weight: 900;
	overflow-wrap: anywhere;
}

.msspay-worker-game-link-card__footer {
	align-items: end;
	background: #f8fbff;
	border-top: 1px solid #e2e8f0;
	grid-template-columns: minmax(140px, 1fr) minmax(120px, 0.6fr) auto;
}

.msspay-worker-game-link-card--detail .msspay-worker-game-link-card__footer {
	grid-template-columns: minmax(0, 1fr) minmax(120px, 0.6fr);
}

.msspay-worker-game-link-card__footer span,
.msspay-worker-score-entry label {
	color: #64748b;
}

.msspay-worker-game-link-card__footer .button,
.msspay-worker-score-actions .button {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	justify-content: center;
}

.msspay-worker-game-link-card__footer .button:hover,
.msspay-worker-game-link-card__footer .button:focus {
	color: #fff;
}

.msspay-worker-game-detail-title {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: flex-start;
	margin: 0 0 16px;
}

.msspay-worker-game-detail-title h1 {
	margin: 0;
}

.msspay-worker-game-status {
	align-items: center;
	background: #dcfce7;
	border: 1px solid #bbf7d0;
	border-radius: 999px;
	color: #166534;
	display: inline-flex;
	font-family: var(--mss-font-heading, inherit);
	font-size: 12px;
	font-weight: 900;
	gap: 8px;
	letter-spacing: 0.08em;
	line-height: 1;
	padding: 9px 12px;
	text-transform: uppercase;
}

.msspay-worker-game-detail-card-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 0 16px;
}

.msspay-worker-game-detail-meta,
.msspay-worker-location-card {
	background: #fff;
	border: 1px solid #dbe5ef;
	border-top: 4px solid #1a63af;
	border-radius: 10px;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 16px 18px;
}

.msspay-worker-game-detail-meta {
	grid-template-columns: minmax(160px, 0.55fr) minmax(0, 1fr);
}

.msspay-worker-location-card {
	align-items: center;
	grid-template-columns: minmax(0, 1fr) auto;
}

.msspay-worker-game-detail-meta span,
.msspay-worker-location-card span {
	color: #64748b;
	display: block;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.msspay-worker-game-detail-meta strong,
.msspay-worker-location-card strong {
	color: #231f20;
	display: block;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.35;
	margin-top: 5px;
}

.msspay-worker-location-card p {
	color: #475569;
	font-weight: 700;
	margin: 6px 0 0;
}

.msspay-worker-location-card__actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
}

.msspay-worker-score-form {
	display: grid;
	gap: 16px;
	margin: 0;
}

.msspay-worker-score-form--card {
	border-top: 1px solid #e2e8f0;
	gap: 0;
}

.msspay-worker-score-form.is-score-locked {
	background: #f8fafc;
}

.msspay-worker-score-entry {
	padding: 18px;
}

.msspay-worker-score-entry--readonly {
	border-top: 1px solid #e2e8f0;
}

.msspay-worker-score-entry__teams {
	align-items: start;
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(0, 1fr) minmax(48px, 0.2fr) minmax(0, 1fr);
}

.msspay-worker-score-entry__team {
	display: grid;
	gap: 8px;
}

.msspay-worker-score-entry__team strong {
	color: #231f20;
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
}

.msspay-worker-score-entry__team input[type="number"] {
	max-width: 140px;
	width: 100%;
}

.msspay-worker-score-entry__team .msspay-check {
	justify-content: start;
	margin: 0;
}

.msspay-worker-score-entry__vs {
	align-self: center;
	color: #64748b;
	font-family: var(--mss-font-heading, inherit);
	font-weight: 900;
	justify-self: center;
	line-height: 1;
	padding-top: 24px;
	text-align: center;
	text-transform: uppercase;
}

.msspay-worker-score-entry--readonly .msspay-worker-score-entry__vs {
	padding-top: 0;
}

.msspay-worker-score-actions {
	display: flex;
	justify-content: flex-end;
}

.msspay-worker-score-form--card .msspay-worker-score-actions {
	padding: 0 18px 18px;
}

.msspay-worker-response-panel {
	align-items: end;
	display: grid;
	gap: 10px;
	justify-items: end;
	margin: 18px 0 0 auto;
	max-width: 360px;
	width: min(100%, 360px);
}

.msspay-worker-response-actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
}

.msspay-worker-response-panel label {
	display: grid;
	font-weight: 800;
	gap: 6px;
	width: 100%;
}

.msspay-worker-response-panel label span {
	color: #64748b;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-worker-response-panel textarea {
	min-height: 88px;
	resize: vertical;
	width: 100%;
}

.msspay-games-pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
	margin: -4px 0 18px;
}

.msspay-games-pagination__summary {
	color: #64748b;
	font-size: 13px;
	font-weight: 900;
	margin: 0;
}

.msspay-games-pagination__links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.msspay-games-pagination__links .button.is-current {
	background: #1a63af;
	border-color: #1a63af;
	color: #fff;
	pointer-events: none;
}

.msspay-games-pagination__ellipsis {
	color: #64748b;
	font-weight: 900;
	padding: 0 4px;
}

.msspay-import-upload-form,
.msspay-import-map-form {
	display: grid;
	gap: 16px;
}

.msspay-import-mapping-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 18px 0;
}

.msspay-import-mapping-grid label,
.msspay-import-upload-form label {
	display: grid;
	font-weight: 800;
	gap: 6px;
}

.msspay-import-mapping-grid span,
.msspay-import-upload-form span {
	color: #64748b;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-import-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.msspay-import-summary {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr);
	margin: 0 0 18px;
	min-width: 0;
}

.msspay-import-summary__metrics {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	min-width: 0;
}

.msspay-import-summary__metrics > div {
	background: #f8fbff;
	border: 1px solid #dbe7f3;
	border-radius: 10px;
	padding: 12px;
}

.msspay-import-summary__metrics span {
	color: #64748b;
	display: block;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-import-summary__metrics strong {
	color: #164b82;
	display: block;
	font-size: 24px;
	line-height: 1;
	margin-top: 6px;
}

.msspay-import-summary .msspay-table-wrap {
	min-width: 0;
	overflow-x: auto;
	width: 100%;
}

.msspay-import-summary .msspay-data-table {
	min-width: 620px;
	table-layout: fixed;
	width: 100%;
}

.msspay-import-summary .msspay-data-table th:nth-child(1),
.msspay-import-summary .msspay-data-table td:nth-child(1) {
	width: 72px;
}

.msspay-import-summary .msspay-data-table th:nth-child(2),
.msspay-import-summary .msspay-data-table td:nth-child(2),
.msspay-import-summary .msspay-data-table th:nth-child(3),
.msspay-import-summary .msspay-data-table td:nth-child(3) {
	width: 110px;
}

.msspay-import-summary .msspay-data-table td:last-child {
	overflow-wrap: anywhere;
	white-space: normal;
}

.msspay-check-panel {
	align-items: center;
	background: #f8fbff;
	border: 1px solid #dbe7f3;
	border-radius: 10px;
	display: flex;
	font-weight: 900;
	gap: 10px;
	min-height: 48px;
	padding: 12px 14px;
}

.msspay-check-panel input {
	margin: 0;
}

.msspay-check-panel span {
	color: #164b82;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.msspay-check-panel.is-locked {
	background: #f8fafc;
	color: #64748b;
}

.msspay-check-panel.is-locked span {
	color: #64748b;
}

.msspay-range-field {
	align-items: center;
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(160px, 1fr) auto;
}

.msspay-range-field > span {
	grid-column: 1 / -1;
}

.msspay-range-field input[type="range"] {
	accent-color: #1a63af;
	width: 100%;
}

.msspay-range-field strong {
	color: #164b82;
	font-size: 14px;
	white-space: nowrap;
}

.msspay-filter-summary {
	color: #475569;
	font-weight: 700;
	margin: -6px 0 18px;
}

.msspay-empty-state {
	background: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 10px;
	color: #475569;
	display: grid;
	gap: 6px;
	padding: 18px;
}

.msspay-empty-state[hidden] {
	display: none;
}

.msspay-empty-state strong {
	color: #231f20;
	font-size: 15px;
}

.msspay-completion-pill {
	background: #eef6ff;
	border-radius: 999px;
	color: #0f477f;
	display: inline-block;
	font-weight: 800;
	line-height: 1;
	padding: 6px 9px;
}

.msspay-detail-header {
	align-items: center;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin: 0 0 24px;
	padding: 24px;
}

.msspay-detail-identity {
	align-items: center;
	display: flex;
	gap: 18px;
	min-width: 0;
}

.msspay-detail-icon {
	align-items: center;
	background: #eef6ff;
	border: 1px solid #cfe0f3;
	border-radius: 999px;
	color: #1a63af;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 28px;
	height: 76px;
	justify-content: center;
	width: 76px;
}

.msspay-detail-identity h2 {
	font-size: 1.45rem;
	margin: 0 0 6px;
}

.msspay-detail-identity p {
	color: #64748b;
	margin: 0 0 10px;
}

.msspay-review-avatar {
	border: 4px solid #eef6ff;
	border-radius: 999px;
	box-shadow: 0 10px 24px rgba(26, 99, 175, 0.16);
	height: 76px;
	object-fit: cover;
	width: 76px;
}

.msspay-detail-actions {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
	max-width: 460px;
}

.msspay-action-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.msspay-action-row form {
	margin: 0;
}

.msspay-1099-template-picker {
	align-items: end;
	margin-bottom: 22px;
}

.msspay-1099-mapper-layout {
	align-items: start;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, max-content) minmax(300px, 1fr);
}

.msspay-1099-preview-scroll {
	background: #f8fbff;
	border: 1px solid #dbe7f5;
	border-radius: 10px;
	max-width: 100%;
	overflow: auto;
	padding: 16px;
}

.msspay-1099-preview-stage {
	background: #fff;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
	position: relative;
	width: max-content;
}

.msspay-1099-preview-stage canvas {
	display: block;
}

.msspay-1099-map-overlay {
	inset: 0;
	position: absolute;
}

.msspay-1099-map-token {
	align-items: center;
	appearance: none;
	background: rgba(26, 99, 175, 0.9);
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: 999px;
	box-shadow: 0 4px 10px rgba(15, 23, 42, 0.18);
	color: #fff;
	cursor: grab;
	display: inline-flex;
	font-family: var(--mss-font-heading, "Outfit", sans-serif);
	font-size: 9px;
	font-weight: 900;
	left: 0;
	letter-spacing: 0.04em;
	line-height: 0.95;
	max-width: 124px;
	min-height: 0;
	overflow: hidden;
	padding: 2px 5px;
	position: absolute;
	text-overflow: ellipsis;
	text-transform: uppercase;
	top: 0;
	touch-action: none;
	white-space: nowrap;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-1099-map-token:hover,
.msspay-1099-map-token:focus,
.msspay-1099-map-token:active {
	background: rgba(26, 99, 175, 0.9);
	box-shadow: 0 4px 10px rgba(15, 23, 42, 0.18);
	color: #fff;
	outline: none;
	transform: none !important;
}

.msspay-1099-map-token:active {
	cursor: grabbing;
}

.msspay-1099-map-controls {
	display: grid;
	gap: 12px;
}

.msspay-1099-map-control {
	align-items: end;
	background: #f8fbff;
	border: 1px solid #dbe7f5;
	border-radius: 10px;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(160px, 1fr) repeat(3, minmax(72px, 90px));
	padding: 12px;
}

.msspay-1099-map-control strong {
	color: #231f20;
	font-family: var(--mss-font-heading, "Outfit", sans-serif);
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-1099-map-control label {
	display: grid;
	gap: 5px;
}

.msspay-1099-map-control label span {
	color: #64748b;
	font-family: var(--mss-font-heading, "Outfit", sans-serif);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-editor-field {
	display: grid;
	gap: 10px;
	margin-top: 18px;
}

.msspay-editor-field + .msspay-form-actions {
	margin-top: 24px;
}

.msspay-editor-field .wp-editor-wrap {
	margin-top: 2px;
}

.msspay-editor-field .wp-editor-tabs {
	float: right;
	margin: 0 0 6px;
}

.msspay-editor-field .wp-switch-editor {
	background: #f8fbff;
	border: 1px solid #dbe7f5;
	border-bottom-color: #dbe7f5;
	border-radius: 6px 6px 0 0;
	box-shadow: none;
	color: #475569;
	font-family: var(--mss-font-heading, "Outfit", sans-serif);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 0 4px;
	min-height: 34px;
	padding: 9px 13px 8px;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-editor-field .wp-switch-editor:hover,
.msspay-editor-field .wp-switch-editor:focus {
	background: #eaf4ff;
	border-color: #c7d9ee;
	color: #164b82;
	outline: none;
}

.msspay-editor-field .html-active .switch-html,
.msspay-editor-field .tmce-active .switch-tmce {
	background: #fff;
	border-bottom-color: #fff;
	color: #164b82;
}

.msspay-editor-field .wp-editor-container {
	border: 1px solid #cbd7e6;
	border-radius: 0 0 6px 6px;
	box-shadow: none;
	clear: both;
	overflow: hidden;
}

.msspay-editor-field .mce-toolbar .mce-btn,
.msspay-editor-field .mce-toolbar .mce-listbox {
	background: #f8fbff;
	border: 1px solid transparent;
	border-radius: 8px;
	box-shadow: none;
	margin: 1px 2px;
}

.msspay-editor-field .mce-toolbar .mce-btn button,
.msspay-editor-field .mce-toolbar .mce-listbox button {
	background: transparent !important;
	border: 0;
	border-radius: 0;
	box-shadow: none !important;
	color: #475569;
	height: auto;
	min-height: 30px;
	padding: 4px 8px;
	transform: none !important;
}

.msspay-editor-field .mce-toolbar .mce-btn:hover,
.msspay-editor-field .mce-toolbar .mce-btn:focus,
.msspay-editor-field .mce-toolbar .mce-btn.mce-active,
.msspay-editor-field .mce-toolbar .mce-listbox:hover,
.msspay-editor-field .mce-toolbar .mce-listbox:focus {
	background: #eaf4ff;
	border-color: #c7d9ee;
	box-shadow: none;
	color: #164b82;
}

.msspay-editor-field .mce-toolbar .mce-btn:hover button,
.msspay-editor-field .mce-toolbar .mce-btn:focus button,
.msspay-editor-field .mce-toolbar .mce-btn.mce-active button,
.msspay-editor-field .mce-toolbar .mce-listbox:hover button,
.msspay-editor-field .mce-toolbar .mce-listbox:focus button {
	background: transparent !important;
	box-shadow: none !important;
	color: #164b82;
	transform: none !important;
}

.msspay-editor-field .mce-toolbar .mce-btn:hover i,
.msspay-editor-field .mce-toolbar .mce-btn:focus i,
.msspay-editor-field .mce-toolbar .mce-btn.mce-active i {
	color: #164b82;
}

.msspay-editor-field .mce-toolbar .mce-listbox button {
	min-width: 112px;
}

.msspay-dashboard-summary {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 0 18px;
}

.msspay-dashboard-summary-card {
	background: #fff;
	border: 1px solid #dbe5ef;
	border-top: 4px solid #1a63af;
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
	display: grid;
	gap: 8px;
	min-height: 112px;
	padding: 18px;
}

.msspay-dashboard-summary-card__icon {
	align-items: center;
	background: #eef6ff;
	border: 1px solid #cfe2f7;
	border-radius: 999px;
	color: #1a63af;
	display: inline-flex;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.msspay-dashboard-summary-card span:not(.msspay-dashboard-summary-card__icon) {
	color: #64748b;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.msspay-dashboard-summary-card strong {
	color: #231f20;
	font-family: "Outfit", sans-serif;
	font-size: clamp(1.05rem, 2vw, 1.55rem);
	font-weight: 900;
	line-height: 1.05;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-settings-control-row {
	align-items: center;
	border-bottom: 1px solid #e2e8f0;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin: 0 0 22px;
	padding: 0 0 20px;
}

.msspay-settings-control-row h3 {
	margin: 0 0 6px;
}

.msspay-settings-control-row p {
	color: #475569;
	margin: 0;
}

.msspay-settings-control-row__field {
	display: grid;
	gap: 6px;
	min-width: 180px;
}

.msspay-settings-control-row__field span {
	color: #64748b;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.msspay-admin-card--module.is-disabled {
	background: #f8fafc;
	border-style: dashed;
	border-top-color: #94a3b8;
}

.msspay-module-card-header {
	align-items: center;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	margin: 0 0 16px;
}

.msspay-module-card-header h2 {
	margin: 0;
}

.msspay-module-disabled-note {
	background: #f1f5f9;
	border-radius: 8px;
	color: #475569;
	font-weight: 700;
	margin: 0 0 16px;
	padding: 10px 12px;
}

.msspay-payroll-scopes {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 0 16px;
}

.msspay-payroll-scope {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #dbe5ef;
	border-radius: 8px;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	min-width: 0;
	padding: 12px 14px;
}

.msspay-payroll-scope strong,
.msspay-payroll-scope span {
	display: block;
}

.msspay-payroll-scope span {
	color: #64748b;
	font-size: 12px;
	font-weight: 800;
	margin-top: 2px;
}

.msspay-payroll-data {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msspay-payroll-data > div {
	min-width: 0;
}

.msspay-payroll-data h3 {
	margin: 0 0 12px;
}

@media (max-width: 782px) {
	.msspay-payroll-scopes,
	.msspay-payroll-data {
		grid-template-columns: minmax(0, 1fr);
	}
}

.msspay-module-toggle-form {
	margin: 0;
}

.msspay-module-switch {
	align-items: center;
	cursor: pointer;
	display: inline-flex;
	gap: 8px;
	margin: 0;
}

.msspay-module-switch input {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.msspay-module-switch__track {
	background: #cbd5e1;
	border-radius: 999px;
	display: inline-block;
	height: 24px;
	position: relative;
	transition: background 0.16s ease;
	width: 44px;
}

.msspay-module-switch__track::after {
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.22);
	content: "";
	height: 18px;
	left: 3px;
	position: absolute;
	top: 3px;
	transition: transform 0.16s ease;
	width: 18px;
}

.msspay-module-switch input:checked + .msspay-module-switch__track {
	background: #1a63af;
}

.msspay-module-switch input:checked + .msspay-module-switch__track::after {
	transform: translateX(20px);
}

.msspay-module-switch input:focus-visible + .msspay-module-switch__track {
	box-shadow: 0 0 0 3px rgba(26, 99, 175, 0.2);
}

.msspay-module-switch__label {
	color: #0f477f;
	font-family: var(--mss-font-heading, "Outfit", sans-serif);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.msspay-collapsible-card {
	padding: 0;
}

.msspay-collapsible-card__header {
	align-items: center;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	padding: 18px 22px;
}

.msspay-collapsible-card__header h2 {
	margin: 0;
}

.msspay-collapsible-card__body {
	border-top: 1px solid #e2e8f0;
	padding: 22px;
}

.msspay-panel-toggle {
	gap: 8px;
	white-space: nowrap;
}

.msspay-panel-toggle i {
	font-size: 15px;
}

.msspay-definition-list {
	display: grid;
	gap: 14px;
	margin: 0;
}

.msspay-definition-list div {
	border-bottom: 1px solid #f1f5f9;
	display: grid;
	gap: 6px;
	grid-template-columns: 160px minmax(0, 1fr);
	padding-bottom: 12px;
}

.msspay-definition-list div:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.msspay-definition-list dt {
	color: #64748b;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-definition-list dd {
	color: #231f20;
	font-weight: 700;
	margin: 0;
}

.msspay-review-form {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	flex: 1 1 100%;
	margin: 4px 0 0;
	padding: 14px;
}

.msspay-review-form label {
	display: grid;
	font-weight: 800;
	gap: 8px;
	margin: 0 0 10px;
}

.msspay-review-form textarea {
	width: 100%;
}

.msspay-notes-form {
	display: grid;
	gap: 12px;
	max-width: 760px;
}

.msspay-notes-form label {
	display: grid;
	font-weight: 800;
	gap: 8px;
	margin: 0;
}

.msspay-notes-form label span {
	color: #64748b;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-notes-form textarea {
	min-height: 130px;
	width: 100%;
}

.msspay-invite-form {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.msspay-invite-form label {
	display: grid;
	flex: 1 1 320px;
	font-weight: 800;
	gap: 8px;
	margin: 0;
}

.msspay-invite-form label span {
	color: #64748b;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-test-email-form {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.msspay-test-email-form label {
	display: grid;
	flex: 1 1 240px;
	font-weight: 800;
	gap: 8px;
	margin: 0;
}

.msspay-test-email-form label span {
	color: #64748b;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-settings-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msspay-integration-card .msspay-panel-header {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	margin: 0 0 18px;
}

.msspay-integration-card .msspay-panel-header h2 {
	margin: 0 0 6px;
}

.msspay-integration-status-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 0 18px;
}

.msspay-integration-status-grid > div {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 14px;
}

.msspay-integration-status-grid span {
	color: #64748b;
	display: block;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.msspay-integration-status-grid strong {
	color: #231f20;
	display: block;
	font-family: "Outfit", sans-serif;
	font-size: 1.05rem;
	font-weight: 900;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-integration-status-item strong {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between;
	min-width: 0;
	overflow-wrap: anywhere;
}

.msspay-integration-status-item .msspay-sync-key-icon {
	display: inline-flex;
	flex: 0 0 auto;
	margin: 0;
}

.msspay-integration-action-form {
	margin-top: 18px;
}

.msspay-credential-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 20px 0;
}

.msspay-credential-field {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	display: grid;
	gap: 10px;
	min-width: 0;
	padding: 16px;
}

.msspay-credential-field__heading {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	justify-content: space-between;
}

.msspay-credential-field__heading > label {
	color: #231f20;
	font-family: "Outfit", sans-serif;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.04em;
	margin: 0;
	text-transform: uppercase;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-credential-field > input {
	margin: 0;
	width: 100%;
}

.msspay-credential-status {
	align-items: center;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	gap: 6px;
	white-space: nowrap;
}

.msspay-credential-status.is-configured {
	color: #15803d;
}

.msspay-credential-status.is-missing {
	color: #dc2626;
}

.msspay-credential-clear {
	align-items: center;
	color: #64748b;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	gap: 7px;
	margin: 0;
	width: fit-content;
}

.msspay-credential-clear input {
	margin: 0;
}

.msspay-integration-config-table th {
	width: 240px;
}

.msspay-settings-status-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msspay-settings-status-card {
	align-items: center;
	background: #fff;
	border: 1px solid #dbe5ef;
	border-top: 4px solid #1a63af;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(26, 99, 175, 0.08);
	color: inherit;
	display: grid;
	gap: 16px;
	grid-template-columns: auto minmax(0, 1fr);
	padding: 18px;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.msspay-settings-status-card:hover,
.msspay-settings-status-card:focus-visible {
	border-color: #1a63af;
	box-shadow: 0 14px 34px rgba(26, 99, 175, 0.16);
	color: inherit;
	text-decoration: none;
}

.msspay-settings-status-card:focus-visible {
	outline: 3px solid rgba(26, 99, 175, 0.3);
	outline-offset: 3px;
}

.msspay-settings-status-card__icon {
	align-items: center;
	background: #e7f1fb;
	border: 1px solid #cfe1f5;
	border-radius: 999px;
	color: #1a63af;
	display: inline-flex;
	font-size: 24px;
	height: 58px;
	justify-content: center;
	width: 58px;
}

.msspay-settings-status-card h2 {
	color: #231f20;
	font-family: "Outfit", sans-serif;
	font-size: 1.35rem;
	font-weight: 900;
	letter-spacing: 0.06em;
	line-height: 1.1;
	margin: 0 0 8px;
	text-transform: uppercase;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-settings-status-card__state {
	align-items: center;
	display: inline-flex;
	font-size: 24px;
	line-height: 1;
}

.msspay-settings-status-card__state.is-ready {
	color: #15803d;
}

.msspay-settings-status-card__state.is-missing {
	color: #dc2626;
}

.msspay-site-icon-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 18px 0;
}

.msspay-site-icon-setting {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-top: 4px solid #1a63af;
	border-radius: 12px;
	display: grid;
	gap: 12px;
	padding: 18px;
}

.msspay-site-icon-setting label {
	display: grid;
	font-weight: 800;
	gap: 8px;
	margin: 0;
}

.msspay-site-icon-setting label span,
.msspay-site-icon-preview span,
.msspay-settings-framework-grid span {
	color: #64748b;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-site-icon-preview {
	align-items: center;
	background: linear-gradient(135deg, #1a63af 0%, #231f20 100%);
	border-radius: 12px;
	color: #fff;
	display: flex;
	gap: 14px;
	padding: 14px;
}

.msspay-site-icon-preview--light {
	background: #fff;
	border: 1px solid #e2e8f0;
	color: #164b82;
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}

.msspay-site-icon-preview img {
	border-radius: 999px;
	display: block;
	height: 58px;
	object-fit: contain;
	width: 58px;
}

.msspay-site-icon-preview strong {
	display: block;
	font-family: "Outfit", sans-serif;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-site-icon-preview span {
	color: rgba(255, 255, 255, 0.78);
	display: block;
	margin-top: 3px;
}

.msspay-site-icon-preview--light span {
	color: #64748b;
}

.msspay-support-page {
	display: grid;
	gap: 20px;
}

.msspay-support-page .msspay-wide {
	grid-column: 1 / -1;
}

.msspay-support-form .cf-turnstile {
	margin: 4px 0 18px;
}

.msspay-support-faq-list {
	display: grid;
	gap: 12px;
}

.msspay-support-faq-item {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 0;
}

.msspay-support-faq-item summary {
	cursor: pointer;
	font-family: "Outfit", sans-serif;
	font-weight: 900;
	letter-spacing: 0.04em;
	list-style-position: inside;
	padding: 16px 18px;
	text-transform: uppercase;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-support-faq-item div {
	border-top: 1px solid #e2e8f0;
	color: #475569;
	padding: 0 18px 16px;
}

.msspay-support-faq-item p {
	margin: 14px 0 0;
}

.msspay-settings-framework-card .msspay-panel-header h2 i {
	color: #1a63af;
	margin-right: 8px;
}

.msspay-settings-security-card .msspay-security-method-toggle {
	align-items: center;
	border-bottom: 0;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin: 0 0 22px;
	padding: 0 0 18px;
}

.msspay-settings-security-card .msspay-security-method-toggle h2 {
	margin: 0;
}

.msspay-settings-security-card .msspay-security-method-toggle h2 i {
	color: #1a63af;
	margin-right: 8px;
}

.msspay-settings-security-card .msspay-settings-framework-grid,
.msspay-settings-security-card .form-table {
	margin-bottom: 24px;
}

.msspay-settings-security-card .form-table {
	border: 0;
	margin-top: 0;
}

.msspay-settings-security-card .form-table tr,
.msspay-settings-security-card .form-table th,
.msspay-settings-security-card .form-table td {
	border: 0;
}

.msspay-settings-security-card .form-table th,
.msspay-settings-security-card .form-table td {
	padding: 8px 0;
}

.msspay-switch-control {
	align-items: center;
	display: inline-flex;
	font-family: "Outfit", sans-serif;
	font-weight: 900;
	gap: 10px;
	margin: 0;
	text-transform: uppercase;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-switch-control input {
	position: absolute;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	width: 1px;
}

.msspay-switch-control span {
	background: #cbd5e1;
	border-radius: 999px;
	display: inline-flex;
	height: 28px;
	position: relative;
	transition: background 0.2s ease;
	width: 56px;
}

.msspay-switch-control span::before {
	background: #fff;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);
	content: "";
	height: 22px;
	left: 3px;
	position: absolute;
	top: 3px;
	transition: transform 0.2s ease;
	width: 22px;
}

.msspay-switch-control input:checked + span {
	background: #1a63af;
}

.msspay-switch-control input:checked + span::before {
	transform: translateX(28px);
}

.msspay-switch-control strong {
	color: #164b82;
	font-size: 13px;
	letter-spacing: 0.08em;
}

.msspay-settings-framework-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.msspay-settings-framework-grid > div {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-top: 4px solid #1a63af;
	border-radius: 10px;
	padding: 14px;
}

.msspay-settings-framework-grid strong {
	color: #231f20;
	display: block;
	font-family: "Outfit", sans-serif;
	font-size: 1.02rem;
	font-weight: 900;
	margin-top: 4px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-pay-period-toolbar {
	align-items: end;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.msspay-pay-period-toolbar label {
	display: grid;
	flex: 1 1 360px;
	font-weight: 900;
	gap: 8px;
	margin: 0;
}

.msspay-pay-period-toolbar label span,
.msspay-field-label {
	color: #64748b;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.msspay-toggle-card-row {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 8px;
}

.msspay-toggle-card {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #dbe5ef;
	border-top: 4px solid #1a63af;
	border-radius: 10px;
	display: flex;
	gap: 10px;
	padding: 14px;
}

.msspay-toggle-card input {
	margin: 0;
	width: auto;
}

.msspay-toggle-card span {
	color: #154f8f;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.msspay-paycheck-list {
	display: grid;
	gap: 18px;
}

.msspay-paycheck-card {
	background: #fff;
	border: 1px solid #dbe5ef;
	border-top: 4px solid #1a63af;
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
	padding: 18px;
}

.msspay-paycheck-card__header {
	align-items: center;
	border-bottom: 1px solid #e2e8f0;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	margin: 0 0 16px;
	padding: 0 0 14px;
}

.msspay-paycheck-card__header span {
	color: #64748b;
	display: block;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-paycheck-card__header strong {
	color: #231f20;
	display: block;
	font-family: "Outfit", sans-serif;
	font-size: 1.35rem;
	font-weight: 900;
	line-height: 1.1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: geometricPrecision;
}

.msspay-paycheck-card h2 {
	margin-bottom: 14px;
}

.msspay-action-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.msspay-action-grid form,
.msspay-action-grid .button {
	width: 100%;
}

.msspay-sync-settings-scroll {
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 8px;
	width: 100%;
}

.msspay-sync-settings-scroll:focus {
	box-shadow: 0 0 0 2px rgba(26, 99, 175, 0.16);
	outline: 0;
}

.msspay-sync-settings-table {
	min-width: 2280px;
	table-layout: fixed;
}

.msspay-sync-settings-table__source {
	width: 190px;
}

.msspay-sync-settings-table__brand {
	width: 140px;
}

.msspay-sync-settings-table__key {
	width: 140px;
}

.msspay-sync-settings-table__config {
	width: 270px;
}

.msspay-sync-settings-table__endpoint {
	width: 440px;
}

.msspay-sync-settings-table__api-base {
	width: 220px;
}

.msspay-sync-settings-table__scope {
	width: 130px;
}

.msspay-sync-settings-table__sports {
	width: 240px;
}

.msspay-sync-settings-table__minutes {
	width: 130px;
}

.msspay-sync-settings-table__actions {
	width: 74px;
}

.msspay-sync-settings-table th {
	white-space: nowrap;
}

.msspay-sync-settings-table td {
	vertical-align: top;
}

.msspay-sync-settings-table input[type="url"],
.msspay-sync-settings-table input[type="text"] {
	width: 100%;
}

.msspay-sync-settings-table input[type="number"] {
	max-width: 92px;
	width: 92px;
}

.msspay-sync-settings-table select {
	width: 100%;
}

@media (max-width: 780px) {
	.msspay-platform-source-editor__outbound {
		align-items: flex-start;
		flex-direction: column;
	}

	.msspay-platform-source-action {
		min-width: 0;
		width: 100%;
	}

	.msspay-platform-sources-table .msspay-row-actions {
		justify-content: flex-start;
	}

	.msspay-admin table.msspay-sync-settings-table {
		min-width: 0;
		table-layout: auto;
		width: 100%;
	}

	.msspay-admin table.msspay-sync-settings-table colgroup {
		display: none;
	}

	.msspay-admin table.msspay-sync-settings-table td[data-label="Actions"] button.msspay-icon-button {
		aspect-ratio: 1;
		height: 36px;
		justify-self: start;
		margin: 0;
		max-width: 36px;
		min-height: 36px;
		width: 36px;
	}
}

.msspay-sync-source-label input {
	font-weight: 900;
	width: 100%;
}

.msspay-platform-source-editor > .msspay-wide {
	grid-column: 1 / -1;
}

.msspay-platform-source-editor fieldset {
	border: 1px solid #dbe7f5;
	border-radius: 8px;
	margin: 0;
	min-width: 0;
	padding: 16px;
}

.msspay-platform-source-editor fieldset legend,
.msspay-platform-source-editor__config > span {
	color: #64748b;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-platform-source-editor__config {
	display: grid;
	gap: 8px;
	min-width: 0;
}

.msspay-platform-source-editor__config code {
	background: #f3f8fe;
	border: 1px solid #dbe7f5;
	border-radius: 6px;
	box-sizing: border-box;
	color: #154f8f;
	font-size: 12px;
	overflow-wrap: anywhere;
	padding: 12px;
	width: 100%;
}

.msspay-platform-source-editor__games {
	align-content: start;
	align-self: start;
	grid-template-rows: auto auto;
	width: 100%;
}

.msspay-platform-source-editor__sports-select {
	min-height: 132px;
	width: 100%;
}

.msspay-platform-source-editor__outbound {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 18px 28px;
}

.msspay-platform-source-editor__outbound .msspay-switch-control {
	margin: 0;
}

.msspay-platform-sources-table td {
	vertical-align: middle;
}

.msspay-platform-source-brand {
	border: 1px solid #dbe7f5;
	border-radius: 6px;
	display: block;
	height: 42px;
	object-fit: cover;
	width: 42px;
}

.msspay-platform-source-action {
	align-items: center;
	display: flex;
	gap: 8px;
	min-width: 230px;
}

.msspay-platform-source-action select {
	min-width: 0;
	width: 100%;
}

.msspay-platform-sources-table .msspay-row-actions {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: flex-end;
}

.msspay-platform-sources-table .msspay-sync-key-icon {
	margin: 0;
}

.msspay-sync-source-id {
	color: #64748b;
	display: inline-block;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin-top: 8px;
	text-transform: uppercase;
}

.msspay-sync-brand-field {
	display: grid;
	gap: 8px;
}

.msspay-sync-brand-preview {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #dbe7f5;
	border-radius: 14px;
	color: #94a3b8;
	display: inline-flex;
	height: 58px;
	justify-content: center;
	overflow: hidden;
	width: 58px;
}

.msspay-sync-brand-preview img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.msspay-sync-brand-field input[type="file"] {
	font-size: 12px;
	max-width: 116px;
}

.msspay-sync-brand-field small,
.msspay-sync-source-add small {
	color: #64748b;
	display: block;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.35;
	margin-top: 4px;
}

.msspay-sync-key-icon {
	align-items: center;
	display: inline-flex;
	font-size: 18px;
	line-height: 1;
	margin-left: 8px;
	margin-top: 8px;
}

.msspay-sync-key-icon.is-configured {
	color: #16a34a;
}

.msspay-sync-key-icon.is-missing {
	color: #dc2626;
}

.msspay-sync-key-input {
	font-weight: 900;
	text-transform: uppercase;
	width: 100%;
}

.msspay-sync-config-variable {
	background: transparent;
	color: #154f8f;
	display: block;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.35;
	padding: 0;
	white-space: nowrap;
}

.msspay-sync-source-add {
	border-top: 1px solid #dbe5ef;
	margin-top: 18px;
	padding-top: 18px;
}

.msspay-sync-source-add .button {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	justify-content: center;
}

.msspay-sync-source-picker {
	align-items: end;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 16px;
}

.msspay-sync-source-picker label {
	display: grid;
	font-weight: 900;
	gap: 6px;
	min-width: 240px;
}

.msspay-sync-source-picker label span {
	color: #64748b;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-sync-actions-table td:last-child {
	text-align: right;
	width: 74px;
}

.msspay-settings-grid label,
.msspay-email-template-editor label {
	display: grid;
	font-weight: 800;
	gap: 8px;
	margin: 0 0 14px;
}

.msspay-settings-grid label span,
.msspay-email-template-editor label span {
	color: #64748b;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-settings-grid input,
.msspay-settings-grid select,
.msspay-settings-grid textarea,
.msspay-email-template-editor input,
.msspay-email-template-editor textarea {
	width: 100%;
}

.msspay-facility-reset-time-field,
.msspay-facility-reset-time-input {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
}

.msspay-facility-reset-time-input {
	display: block;
	inline-size: 100%;
}

.msspay-support-form input[readonly] {
	background: #f8fafc;
	color: #64748b;
	cursor: not-allowed;
}

.msspay-checkbox-fieldset {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 14px;
}

.msspay-checkbox-fieldset legend {
	color: #231f20;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.08em;
	padding: 0 4px;
	text-transform: uppercase;
}

.msspay-position-builder {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	display: grid;
	gap: 12px;
	padding: 14px;
}

.msspay-position-builder__header {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}

.msspay-position-builder__header > span {
	color: #231f20;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-position-rows {
	display: grid;
	gap: 10px;
}

.msspay-position-row {
	align-items: end;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(180px, 1.2fr) minmax(140px, 0.8fr) minmax(130px, 0.7fr) minmax(140px, auto) auto;
	padding: 12px;
}

.msspay-position-row label {
	margin: 0;
}

.msspay-position-row__check {
	align-self: center;
}

.msspay-position-row.msspay-eligibility-row {
	grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(140px, 0.7fr) auto;
}

.msspay-admin .button.msspay-position-remove {
	aspect-ratio: 1;
	justify-content: center;
	min-height: 39px;
	padding: 0;
	width: 39px;
}

.msspay-status-color-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	margin: 18px 0;
	max-width: 760px;
}

.msspay-status-color-field {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 12px 14px;
}

.msspay-status-color-field span {
	color: #231f20;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-status-color-field input[type="color"] {
	border-radius: 999px;
	height: 42px;
	padding: 3px;
	width: 58px;
}

.msspay-settings-grid .is-inherited,
.msspay-settings-grid .is-inactive {
	opacity: 0.58;
}

.msspay-settings-grid .is-required > span::after {
	color: #b91c1c;
	content: " *";
}

.msspay-ranking-list {
	display: grid;
	gap: 10px;
	margin: 18px 0;
}

.msspay-ranking-row {
	align-items: center;
	background: #fff;
	border: 1px solid #d8e3f0;
	border-radius: 10px;
	cursor: grab;
	display: grid;
	gap: 12px;
	grid-template-columns: auto auto minmax(180px, 1fr) minmax(180px, 1fr);
	padding: 12px 14px;
	transition: border-color 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease;
}

.msspay-ranking-row:focus-within,
.msspay-ranking-row:hover {
	border-color: #1a63af;
	box-shadow: 0 10px 24px rgba(26, 99, 175, 0.12);
}

.msspay-ranking-row.is-dragging {
	cursor: grabbing;
	opacity: 0.56;
}

.msspay-ranking-handle,
.msspay-ranking-number {
	align-items: center;
	background: #eaf4ff;
	border-radius: 999px;
	color: #1a63af;
	display: inline-flex;
	font-weight: 900;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.msspay-ranking-name {
	color: #231f20;
	font-weight: 900;
}

.msspay-ranking-email {
	color: #64748b;
	font-size: 0.94rem;
}

.msspay-email-branding {
	display: grid;
	gap: 16px;
}

.msspay-email-branding label {
	display: grid;
	font-weight: 800;
	gap: 8px;
	margin: 0;
}

.msspay-email-branding label span {
	color: #64748b;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-email-branding-preview {
	align-items: center;
	background: linear-gradient(135deg, #1a63af 0%, #231f20 100%);
	border-radius: 16px;
	color: #fff;
	display: flex;
	gap: 16px;
	padding: 18px;
}

.msspay-email-branding-preview img {
	border-radius: 999px;
	display: block;
	height: 72px;
	object-fit: contain;
	width: 72px;
}

.msspay-email-branding-preview strong {
	display: block;
	font-size: 15px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-email-branding-preview span {
	color: rgba(255, 255, 255, 0.82);
	display: block;
	font-weight: 700;
	margin-top: 4px;
}

.msspay-check-inline {
	align-items: center;
	display: inline-flex !important;
	flex-direction: row;
	font-weight: 800;
	gap: 8px;
}

.msspay-check-inline input {
	width: auto;
}

.msspay-template-editor-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.85fr);
}

.msspay-template-builder-select {
	align-items: end;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(260px, 420px);
}

.msspay-template-builder-select label {
	display: grid;
	gap: 6px;
}

.msspay-template-builder-select label span {
	color: #64748b;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-template-builder-select select {
	background: #fff;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	color: #231f20;
	font-size: 15px;
	font-weight: 700;
	min-height: 42px;
	padding: 8px 10px;
	width: 100%;
}

.msspay-push-preview {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid #d7e1ef;
	border-radius: 8px;
	box-shadow: 0 12px 30px rgba(20, 42, 76, 0.14);
	color: #231f20;
	display: grid;
	gap: 4px;
	max-width: 420px;
	padding: 14px 16px;
}

.msspay-push-preview__app {
	color: #64748b;
	font-size: 12px;
	font-weight: 800;
}

.msspay-push-preview__app span {
	float: right;
	font-weight: 600;
}

.msspay-push-preview strong {
	font-size: 15px;
}

.msspay-push-preview p {
	color: #475569;
	margin: 0;
}

.msspay-admin-recipient-list {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	display: grid;
	gap: 8px;
	margin: 8px 0 0;
	padding: 10px;
}

.msspay-admin-recipient-option {
	align-items: center;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	display: grid;
	gap: 10px;
	grid-template-columns: auto minmax(0, 1fr);
	margin: 0;
	padding: 10px 12px;
}

.msspay-admin-recipient-option input {
	margin: 0;
	width: auto;
}

.msspay-admin-recipient-option span {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.msspay-admin-recipient-option strong {
	color: #231f20;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.2;
}

.msspay-admin-recipient-option small {
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.msspay-email-preview {
	background: #eef6ff;
	border: 1px solid #dbe7f5;
	border-radius: 10px;
	overflow: hidden;
}

.msspay-email-preview iframe {
	background: #fff;
	border: 0;
	display: block;
	height: 520px;
	width: 100%;
}

.msspay-email-preview-meta {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	display: grid;
	gap: 6px;
	margin: 0 0 12px;
	padding: 12px;
}

.msspay-email-preview-meta strong {
	color: #231f20;
	display: block;
	font-size: 14px;
}

.msspay-email-preview-meta span {
	color: #64748b;
	display: block;
	font-size: 13px;
	font-weight: 700;
}

.msspay-email-reset-action {
	margin: 18px 0 0;
}

.msspay-admin-operational-roles {
	border-bottom: 1px solid #d7e3f2;
	border-top: 1px solid #d7e3f2;
	margin: 24px 0;
	padding: 18px 0;
}

.msspay-admin-operational-roles h3 {
	margin: 0 0 12px;
}

.msspay-admin-operational-roles .msspay-role-table {
	margin: 0;
	max-width: 520px;
}

.msspay-permission-groups {
	align-items: start;
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msspay-permission-column {
	align-content: start;
	display: grid;
	gap: 16px;
	min-width: 0;
}

.msspay-permission-group {
	align-content: start;
	align-self: start;
	background: #fff;
	border: 1px solid #d7e3f2;
	border-radius: 8px;
	display: grid;
	gap: 10px;
	grid-auto-rows: minmax(46px, max-content);
	margin: 0;
	padding: 18px;
}

.msspay-permission-group legend {
	align-items: center;
	color: #111;
	display: flex;
	font-family: var(--mss-font-heading, "Outfit", sans-serif);
	font-size: 18px;
	font-weight: 900;
	gap: 16px;
	justify-content: space-between;
	letter-spacing: 1.2px;
	padding: 0;
	text-transform: uppercase;
	width: 100%;
}

.msspay-permission-master-toggle {
	flex-shrink: 0;
}

.msspay-permission-group.is-disabled .msspay-permission-option,
.msspay-permission-group.is-disabled .msspay-permission-virtual-heading {
	opacity: 0.55;
}

.msspay-permission-group .msspay-check-inline {
	align-items: center;
	background: #f8fbff;
	border: 1px solid #d7e3f2;
	border-radius: 8px;
	display: flex !important;
	font-weight: 800;
	margin: 0;
	min-height: 46px;
	padding: 10px 12px;
	width: 100%;
}

.msspay-permission-option--depth-1 {
	margin-left: 28px !important;
	position: relative;
	width: calc(100% - 28px) !important;
}

.msspay-permission-option--depth-1::before {
	background: #b9c9dc;
	content: "";
	height: 1px;
	left: -18px;
	position: absolute;
	top: 50%;
	width: 12px;
}

.msspay-permission-virtual-heading {
	color: #60728c;
	font-family: var(--mss-font-heading, "Outfit", sans-serif);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 1.2px;
	margin: 8px 0 -2px;
	text-transform: uppercase;
}

.msspay-permissions-actions {
	margin: 24px 0 0;
}

.msspay-review-note {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 10px;
	margin: 0 0 16px;
	padding: 14px;
}

.msspay-review-note strong {
	color: #9a3412;
	display: block;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.msspay-review-note p {
	margin: 6px 0 0;
}

.msspay-admin .button.msspay-button-danger {
	border-color: #b91c1c;
	color: #b91c1c;
}

.msspay-admin .button.msspay-button-danger:hover,
.msspay-admin .button.msspay-button-danger:focus {
	background: #b91c1c;
	border-color: #b91c1c;
	color: #fff;
}

.msspay-admin .button.msspay-button-positive {
	border-color: #166534;
	color: #166534;
}

.msspay-admin .button.msspay-button-positive:hover,
.msspay-admin .button.msspay-button-positive:focus {
	background: #166534;
	border-color: #166534;
	color: #fff;
}

.msspay-system-status {
	margin-top: 24px;
}

.msspay-system-status-list {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msspay-system-status-item {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-left: 5px solid #64748b;
	border-radius: 10px;
	display: grid;
	gap: 6px;
	padding: 14px;
}

.msspay-system-status-item strong {
	color: #231f20;
	font-size: 15px;
}

.msspay-system-status-item span {
	color: #475569;
	font-weight: 700;
}

.msspay-system-status-item--ready {
	border-left-color: #16a34a;
}

.msspay-system-status-item--review {
	border-left-color: #1a63af;
}

.msspay-system-status-item--attention {
	border-left-color: #dc2626;
}

.msspay-system-status-item--future {
	border-left-color: #94a3b8;
}

.msspay-audit-table code {
	white-space: pre-wrap;
}

.msspay-tournament-assigner-tools .msspay-admin-filters {
	align-items: end;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.msspay-tournament-columns-form {
	padding: 18px;
}

.msspay-tournament-columns-form .msspay-view-section {
	overflow: visible;
}

.msspay-tournament-assigner {
	max-width: 100%;
	min-width: 0;
	overflow: visible;
	width: 100%;
}

.msspay-tournament-assigner__header {
	align-items: center;
	background: #fff;
	border-bottom: 1px solid var(--msspay-border, #dbe6f3);
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin: 0 0 18px;
	padding: 10px 0 14px;
	position: sticky;
	top: calc(var(--mss-admin-bar-offset, 0px) + var(--mss-mobile-header-height, 76px));
	z-index: 20;
}

.msspay-tournament-assigner__header p {
	color: var(--msspay-muted, #5f7088);
	font-weight: 700;
	margin: 0;
	text-transform: uppercase;
}

.msspay-tournament-assigner__actions {
	justify-content: flex-end;
	margin-left: auto;
}

.msspay-tournament-assigner__actions .msspay-table-toolbar__button {
	touch-action: manipulation;
}

@media (hover: none), (pointer: coarse) {
	.msspay-tournament-assigner__actions .msspay-table-toolbar__hover-label {
		display: none;
	}
}

.msspay-tournament-date-section {
	min-width: 0;
	width: 100%;
}

.msspay-tournament-date-section + .msspay-tournament-date-section {
	border-top: 1px solid var(--msspay-border, #dbe6f3);
	margin-top: 30px;
	padding-top: 30px;
}

.msspay-tournament-grid-wrap {
	max-width: 100%;
	min-width: 0;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	overflow-x: auto;
	overflow-y: visible;
	padding-bottom: 8px;
	scrollbar-color: var(--msspay-blue, #2169b2) #e7eff8;
	scrollbar-gutter: stable;
	width: 100%;
}

.msspay-tournament-grid-wrap::-webkit-scrollbar {
	height: 12px;
}

.msspay-tournament-grid-wrap::-webkit-scrollbar-track {
	background: #e7eff8;
	border-radius: 6px;
}

.msspay-tournament-grid-wrap::-webkit-scrollbar-thumb {
	background: var(--msspay-blue, #2169b2);
	border: 3px solid #e7eff8;
	border-radius: 6px;
}

.msspay-tournament-grid {
	display: grid;
	gap: 0;
	width: 100%;
}

.msspay-tournament-grid [hidden] {
	display: none !important;
}

.msspay-tournament-grid__head,
.msspay-tournament-grid__time,
.msspay-tournament-grid__cell {
	border-bottom: 1px solid var(--msspay-border, #dbe6f3);
	border-right: 1px solid var(--msspay-border, #dbe6f3);
	min-height: 72px;
}

.msspay-tournament-grid__head {
	align-items: center;
	background: #f6f9fd;
	color: var(--msspay-muted, #5f7088);
	display: flex;
	font-size: 12px;
	font-weight: 800;
	justify-content: center;
	letter-spacing: 1.2px;
	line-height: 1.2;
	padding: 14px 12px;
	position: sticky;
	text-align: center;
	text-transform: uppercase;
	top: 0;
	z-index: 2;
}

.msspay-tournament-grid__time-head,
.msspay-tournament-grid__time {
	border-left: 1px solid var(--msspay-border, #dbe6f3);
	left: 0;
	position: sticky;
	z-index: 3;
}

.msspay-tournament-grid__time {
	align-items: center;
	background: #fff;
	color: var(--msspay-blue, #2169b2);
	display: flex;
	font-size: 13px;
	font-weight: 800;
	justify-content: center;
	letter-spacing: 0.8px;
	padding: 14px 10px;
	text-transform: uppercase;
}

.msspay-tournament-grid__cell {
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 10px;
}

.msspay-tournament-grid__empty {
	align-items: center;
	background: #fff;
	color: var(--msspay-muted, #5f7088);
	display: flex;
	font-weight: 700;
	grid-column: 1 / -1;
	justify-content: center;
	min-height: 96px;
	padding: 22px;
	text-align: center;
}

.msspay-tournament-game-card {
	background: var(--msspay-tournament-card-bg, #fff);
	border: 1px solid var(--msspay-tournament-card-bg, var(--msspay-border, #dbe6f3));
	border-radius: 8px;
	box-shadow: 0 10px 26px rgba(13, 42, 82, 0.07);
	color: var(--msspay-tournament-card-color, var(--msspay-text, #231f20));
	min-height: 76px;
	overflow: hidden;
	position: relative;
}

.msspay-tournament-game-card.is-selectable {
	cursor: pointer;
	touch-action: manipulation;
}

.msspay-tournament-game-card__checkbox {
	height: 1px;
	left: 0;
	margin: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 1px;
}

.msspay-tournament-game-card__content {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 100%;
	padding: 12px;
	position: relative;
	width: 100%;
}

.msspay-tournament-game-card.is-selectable:hover {
	box-shadow: 0 12px 30px rgba(13, 42, 82, 0.16);
}

.msspay-tournament-game-card.is-selected::after {
	border: 3px solid var(--msspay-blue, #2169b2);
	border-radius: inherit;
	box-shadow: inset 0 0 0 2px #fff;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 3;
}

.msspay-tournament-game-card.is-selectable:focus-visible {
	outline: 3px solid var(--msspay-blue, #2169b2);
	outline-offset: 3px;
}

.msspay-tournament-game-card__assignments {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	justify-content: center;
	width: 100%;
}

.msspay-tournament-game-card__assignments span {
	align-items: center;
	background: var(--msspay-tournament-pill-bg, rgba(255, 255, 255, 0.62));
	border: 1px solid var(--msspay-tournament-pill-border, rgba(23, 32, 51, 0.2));
	border-radius: 7px;
	color: inherit;
	display: grid;
	font-size: 12px;
	gap: 2px;
	justify-items: center;
	min-width: 50px;
	padding: 6px 7px;
	text-align: center;
}

.msspay-tournament-game-card__assignments strong {
	color: inherit;
	font-size: 10px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.msspay-tournament-game-card__assignments small {
	color: inherit;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.15;
}

@media (max-width: 960px) {
	.msspay-dashboard-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.msspay-tournament-assigner-tools .msspay-admin-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.msspay-detail-header {
		align-items: stretch;
		flex-direction: column;
	}

	.msspay-detail-actions {
		justify-content: flex-start;
		max-width: none;
	}

	.msspay-definition-list div {
		grid-template-columns: 1fr;
	}

	.msspay-system-status-list {
		grid-template-columns: 1fr;
	}

	.msspay-settings-grid,
	.msspay-settings-status-grid,
	.msspay-integration-status-grid,
	.msspay-1099-mapper-layout,
	.msspay-template-builder-select,
	.msspay-template-editor-grid,
	.msspay-permission-groups,
	.msspay-import-mapping-grid,
	.msspay-position-row {
		grid-template-columns: 1fr;
	}

	.msspay-permission-column {
		display: contents;
	}

	.msspay-permission-group[data-msspay-permission-group-key="users"] {
		order: 1;
	}

	.msspay-permission-group[data-msspay-permission-group-key="settings"] {
		order: 2;
	}

	.msspay-permission-group[data-msspay-permission-group-key="games"] {
		order: 3;
	}

	.msspay-import-summary {
		grid-template-columns: 1fr;
	}

	.msspay-import-summary__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.msspay-position-row {
		align-items: stretch;
	}

	.msspay-ranking-row {
		grid-template-columns: auto auto minmax(0, 1fr);
	}

	.msspay-ranking-email {
		grid-column: 3;
	}

	.msspay-view-tools-grid {
		grid-template-columns: repeat(2, minmax(180px, 1fr));
	}

	.msspay-view-actions {
		grid-column: 1 / -1;
		justify-content: flex-start;
	}

	.msspay-worker-games-filter .msspay-filter-section--date {
		grid-template-columns: 1fr;
	}

	.msspay-worker-games-filter .msspay-filter-date-controls {
		flex-wrap: wrap;
	}

	.msspay-worker-game-card-grid,
	.msspay-worker-assignment-game-grid,
	.msspay-worker-game-detail-card-grid,
	.msspay-worker-game-detail-meta,
	.msspay-worker-location-card {
		grid-template-columns: 1fr;
	}

	.msspay-worker-game-link-card__header,
	.msspay-worker-game-link-card__footer {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.msspay-tournament-assigner-tools .msspay-admin-filters {
		grid-template-columns: 1fr;
	}

	.msspay-tournament-assigner-tools .msspay-filter-icon {
		grid-column: 1;
	}

	.msspay-tournament-assigner__header {
		align-items: flex-start;
		flex-direction: column;
	}

	.msspay-tournament-assigner__actions {
		justify-content: flex-end;
		margin-left: 0;
		width: 100%;
	}

	.msspay-tournament-assigner__actions .msspay-table-toolbar__button {
		flex: 0 0 40px;
	}

	.msspay-tournament-assigner__actions .msspay-table-toolbar__hover-label {
		display: none;
	}

	.msspay-dashboard-summary,
	.msspay-toggle-card-row {
		grid-template-columns: 1fr;
	}

	.msspay-pay-period-toolbar,
	.msspay-pay-period-toolbar .button {
		width: 100%;
	}

	.msspay-site-icon-grid,
	.msspay-settings-status-grid,
	.msspay-settings-framework-grid,
	.msspay-credential-grid {
		grid-template-columns: 1fr;
	}

	.msspay-settings-control-row {
		align-items: flex-start;
		display: grid;
		grid-template-columns: 1fr;
	}

	.msspay-view-tools-grid,
	.msspay-view-section--filters .msspay-filter-row,
	.msspay-games-view-form .msspay-filter-row--date,
	.msspay-view-toggle-row {
		grid-template-columns: 1fr;
	}

	.msspay-view-actions {
		display: grid;
		grid-column: auto;
		grid-template-columns: 1fr;
		justify-content: stretch;
		width: 100%;
	}

	.msspay-view-actions .button,
	.msspay-column-checklist,
	.msspay-column-checklist .msspay-check-inline,
	.msspay-view-toggle-row,
	.msspay-view-toggle-row label,
	.msspay-view-panel-actions,
	.msspay-view-panel-actions .button {
		width: 100%;
	}

	.msspay-worker-response-panel {
		justify-items: stretch;
		max-width: none;
		width: 100%;
	}

	.msspay-worker-response-actions {
		justify-content: flex-end;
	}

	.msspay-worker-game-link-card__game-row,
	.msspay-worker-score-entry__teams {
		grid-template-columns: 1fr;
	}

	.msspay-worker-score-entry__vs {
		padding-top: 0;
		text-align: left;
	}

	.msspay-worker-score-entry__team input[type="number"] {
		max-width: none;
	}

	.msspay-worker-score-actions,
	.msspay-worker-score-actions .button {
		width: 100%;
	}

	.msspay-worker-game-detail-title {
		align-items: flex-start;
		flex-direction: column;
	}

	.msspay-worker-location-card__actions {
		justify-content: flex-start;
	}

	.msspay-quick-assign-form {
		grid-template-columns: 1fr;
	}

	.msspay-bulk-quick-assign-row {
		grid-template-columns: 1fr;
	}

	.msspay-bulk-quick-assign-group__header {
		align-items: stretch;
		flex-direction: column;
	}

	.msspay-bulk-quick-assign-row .msspay-quick-assign-wage-field {
		grid-column: 1;
		max-width: 110px;
		width: 110px;
	}

	.msspay-bulk-quick-assign-row .msspay-quick-assign-official-field {
		grid-column: 1;
	}

	.msspay-1099-map-control {
		grid-template-columns: 1fr;
	}

	.msspay-quick-assign-form .button {
		width: 100%;
	}

	.msspay-import-summary {
		grid-template-columns: 1fr;
	}

	.msspay-import-summary__metrics {
		grid-template-columns: 1fr;
	}

	.msspay-import-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.msspay-ranking-row {
		grid-template-columns: auto 1fr;
	}

	.msspay-ranking-handle {
		grid-row: span 2;
	}

	.msspay-ranking-number {
		display: none;
	}

	.msspay-ranking-email {
		grid-column: 2;
	}

	.msspay-assignments-drawer-panel {
		max-width: 100%;
		padding: 18px;
		width: 100%;
	}

	.msspay-assignments-drawer-item {
		grid-template-columns: 1fr;
	}
}
.msspay-announcement-form .msspay-form-grid--three {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.msspay-announcement-editor {
	margin-top: 22px;
}

.msspay-announcement-editor .wp-editor-wrap {
	margin-top: 8px;
}

.msspay-announcement-form-actions {
	margin-top: 22px;
}

.msspay-text-danger {
	color: #b42318;
}

@media (max-width: 900px) {
	.msspay-announcement-form .msspay-form-grid--three {
		grid-template-columns: 1fr;
	}
}

.msspay-facility-access-codes {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	grid-column: 1 / -1;
	margin: 0;
	padding: 14px;
}

.msspay-facility-access-codes > legend {
	color: #231f20;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.08em;
	padding: 0 4px;
	text-transform: uppercase;
}

.msspay-facility-access-code-list {
	display: grid;
	gap: 12px;
}

.msspay-facility-access-codes > [data-msspay-access-code-add] {
	margin-top: 14px;
}

.msspay-facility-access-code-row {
	align-items: start;
	border: 1px solid #d7e2ef;
	border-radius: 8px;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) minmax(230px, 1.4fr) auto;
	padding: 14px;
}

.msspay-facility-access-code-row > label {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.msspay-facility-access-code-row__surfaces {
	border: 0;
	display: grid;
	gap: 6px;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.msspay-facility-access-code-row__surfaces legend,
.msspay-facility-access-code-row > label > span {
	color: #526580;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.msspay-facility-restrictions {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	grid-column: 1 / -1;
	margin: 0;
	padding: 14px;
}

.msspay-facility-restrictions > legend {
	color: #231f20;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .08em;
	padding: 0 4px;
	text-transform: uppercase;
}

.msspay-facility-restriction-list {
	display: grid;
	gap: 12px;
}

.msspay-facility-restriction-row {
	align-items: end;
	border: 1px solid #d7e2ef;
	border-radius: 8px;
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(130px, 1fr)) auto;
	padding: 14px;
}

.msspay-facility-restriction-row > label:not(.msspay-toggle-row) {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.msspay-facility-restriction-row [hidden] {
	display: none !important;
}

.msspay-facility-restriction-row__weekdays select[multiple] {
	min-height: 118px;
}

.msspay-facility-restriction-row__type {
	grid-column: 1;
	grid-row: 1;
}

.msspay-facility-restriction-row__date-start,
.msspay-facility-restriction-row__weekdays {
	grid-column: 2;
	grid-row: 1;
}

.msspay-facility-restriction-row__date-end,
.msspay-facility-restriction-row__recurring-start {
	grid-column: 3;
	grid-row: 1;
}

.msspay-facility-restriction-row__recurring-end {
	grid-column: 4;
	grid-row: 1;
}

.msspay-facility-restriction-row > label > span {
	color: #526580;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.msspay-facility-restriction-row__all-day {
	align-self: stretch;
	grid-column: 1;
	grid-row: 2;
	justify-content: space-between;
}

.msspay-facility-restriction-row__time-start {
	grid-column: 2;
	grid-row: 2;
}

.msspay-facility-restriction-row__time-end {
	grid-column: 3;
	grid-row: 2;
}

.msspay-facility-restriction-row__remove {
	grid-column: 5;
	grid-row: 2;
}

.msspay-facility-restrictions > [data-msspay-facility-restriction-add] {
	margin-top: 14px;
}

.msspay-facility-restrictions__inherited {
	border-top: 1px solid #d7e2ef;
	display: grid;
	gap: 6px;
	margin-top: 16px;
	padding-top: 14px;
}

.msspay-facility-restrictions__inherited span {
	color: #526580;
	font-size: 13px;
}

@media (max-width: 900px) {
	.msspay-facility-restriction-row {
		grid-template-columns: 1fr;
	}

	.msspay-facility-restriction-row > * {
		grid-column: auto;
		grid-row: auto;
	}

	.msspay-facility-restriction-row > .msspay-icon-button {
		justify-self: end;
	}
}

.msspay-facility-access-code-row__surfaces legend {
	line-height: normal;
	margin: 0;
	padding: 0;
}

.msspay-facility-access-code-row__surface-options {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	padding-top: 10px;
}

.msspay-facility-access-code-row__surface-options > label {
	align-items: flex-start;
	display: inline-flex;
	gap: 6px;
	justify-content: flex-start;
	margin: 0;
	white-space: nowrap;
}

.msspay-settings-grid .msspay-facility-access-code-row__surfaces input[type="checkbox"] {
	flex: 0 0 auto;
	margin: 0;
	width: auto;
}

.msspay-facility-access-code-row__surface-options > label > span {
	font-size: 13px;
	letter-spacing: 0;
	text-transform: none;
}

.msspay-facility-access-code-row > [data-msspay-access-code-remove] {
	align-self: end;
	justify-self: end;
}

.msspay-facility-access-codes-display {
	background: #f8fbff;
	border: 1px solid #d7e2ef;
	border-radius: 8px;
	margin-top: 12px;
	padding: 12px 14px;
}

.msspay-facility-access-codes-display strong {
	color: #244f80;
	display: block;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.msspay-facility-access-codes-display ul {
	display: grid;
	gap: 6px;
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
}

.msspay-facility-access-codes-display li {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.msspay-facility-access-codes-display code {
	background: #fff;
	border: 1px solid #d7e2ef;
	border-radius: 4px;
	font-size: 13px;
	padding: 2px 6px;
}

@media (max-width: 900px) {
	.msspay-facility-access-code-row {
		grid-template-columns: 1fr;
	}

	.msspay-facility-access-code-row .msspay-icon-button {
		justify-self: start;
	}
}
