/* CakePHP 5 layout fixes that must load after the legacy and Bootstrap styles. */
#navbar_main ul.nav {
	max-width: none;
}

/* Delivery outlet lists, editors, and split service-hour schedules. */
.outlet-integration-page,
.outlet-editor-page,
.service-hours-page {
	box-sizing: border-box;
	margin: 0 auto 24px;
	max-width: 1180px;
	width: 100%;
}

.integration-list-toolbar {
	margin-bottom: 12px;
}

.outlet-integration-table-wide {
	min-width: 1080px !important;
}

.outlet-integration-table td,
.outlet-integration-table th {
	vertical-align: middle;
}

.outlet-row-actions-wide {
	min-width: 250px;
}

.outlet-row-actions-wide .btn[disabled] {
	cursor: not-allowed;
	opacity: .55;
}

@media (min-width: 1024px) {
	.integration-page.grabfood-outlet-list-page {
		max-width: 1180px;
	}

	.grabfood-outlet-list-page .outlet-integration-table-wide {
		min-width: 0 !important;
		table-layout: fixed;
		width: 100%;
	}

	.grabfood-outlet-list-page .outlet-integration-table-wide td,
	.grabfood-outlet-list-page .outlet-integration-table-wide th {
		overflow-wrap: anywhere;
	}

	.grabfood-outlet-list-page .outlet-integration-table-wide th {
		white-space: normal;
	}

	.grabfood-outlet-list-page .outlet-integration-table-wide th:nth-child(1) { width: 10%; }
	.grabfood-outlet-list-page .outlet-integration-table-wide th:nth-child(2) { width: 9%; }
	.grabfood-outlet-list-page .outlet-integration-table-wide th:nth-child(3) { width: 14%; }
	.grabfood-outlet-list-page .outlet-integration-table-wide th:nth-child(4) { width: 9%; }
	.grabfood-outlet-list-page .outlet-integration-table-wide th:nth-child(5) { width: 11%; }
	.grabfood-outlet-list-page .outlet-integration-table-wide th:nth-child(6) { width: 10%; }
	.grabfood-outlet-list-page .outlet-integration-table-wide th:nth-child(7) { width: 9%; }
	.grabfood-outlet-list-page .outlet-integration-table-wide th:nth-child(8) { width: 6%; }
	.grabfood-outlet-list-page .outlet-integration-table-wide th:nth-child(9) { width: 9%; }
	.grabfood-outlet-list-page .outlet-integration-table-wide th:nth-child(10) { width: 13%; }

	.grabfood-outlet-list-page .integration-row-actions {
		min-width: 0;
	}
}

.outlet-list-notice {
	border-radius: 0;
}

.integration-outlet-form,
.service-hours-form {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 0 0 7px 7px;
	box-shadow: 0 3px 14px rgb(39 79 125 / 10%);
	margin: 0;
}

.integration-form-section {
	border-bottom: 1px solid #e2e8ed;
	padding: 20px 22px;
}

.integration-field-grid-two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.integration-section-notice {
	margin: 14px 0 0;
}

.integration-pricing-values {
	margin-top: 12px;
	max-width: 520px;
}

.integration-pricing-values > div {
	background: #f5f8fa;
	border: 1px solid #d3dce4;
	border-radius: 5px;
	padding: 14px;
}

.integration-pricing-values .input {
	margin: 0;
}

.integration-pricing-values p {
	color: #617384;
	font-size: 12px;
	margin: 7px 0 0;
}

.integration-form-actions,
.service-hours-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 16px 22px;
}

.integration-delete-action {
	margin-left: auto;
}

.service-hours-guidance {
	border-width: 0 0 1px;
	margin: 0;
}

.service-day-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 18px 22px;
}

.service-day-card {
	background: #f8fafc;
	border: 1px solid #cfdae3;
	border-radius: 7px;
	overflow: hidden;
}

.service-day-card > header {
	align-items: center;
	background: #edf4f9;
	border-bottom: 1px solid #d7e1e8;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 12px 14px;
}

.service-day-card h3 {
	color: #294e70;
	font-size: 15px;
	margin: 0;
}

.service-second-toggle {
	align-items: center;
	cursor: pointer;
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	gap: 6px;
	margin: 0;
}

.service-second-toggle input {
	margin: 0;
}

.service-period-block {
	padding: 13px 14px;
}

.service-period-block + .service-period-block {
	border-top: 1px dashed #c8d5df;
}

.service-period-block > strong {
	color: #536a7d;
	display: block;
	font-size: 12px;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.service-time-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-time-grid .input {
	margin: 0;
}

.service-second-period {
	background: #fff;
}

@media (max-width: 720px) {
	.outlet-integration-page,
	.outlet-editor-page,
	.service-hours-page {
		max-width: none;
	}

	.integration-outlet-form,
	.service-hours-form {
		border-left: 0;
		border-radius: 0;
		border-right: 0;
	}

	.integration-field-grid-two,
	.service-day-grid,
	.service-time-grid {
		grid-template-columns: 1fr;
	}

	.integration-form-section,
	.service-day-grid {
		padding-left: 14px;
		padding-right: 14px;
	}

	.integration-form-actions,
	.service-hours-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.integration-form-actions .btn,
	.service-hours-actions .btn {
		box-sizing: border-box;
		width: 100%;
	}

	.integration-delete-action {
		margin-left: 0;
	}

	.service-day-card > header {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* PayNow and shared assignment configuration surfaces. */
.paynow-table code {
	background: #eef3f7;
	border-radius: 4px;
	color: #294e70;
	font-weight: 700;
	padding: 4px 7px;
}

.paynow-active-toggle {
	margin-top: 15px;
}

.assignment-page {
	box-sizing: border-box;
	margin: 0 auto 24px;
	max-width: 1080px;
	width: 100%;
}

.assignment-form {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 7px;
	box-shadow: 0 3px 14px rgb(39 79 125 / 10%);
	overflow: hidden;
}

.assignment-page > .catalog-editor-header {
	border-bottom: 0;
}

.assignment-form {
	border-radius: 0 0 7px 7px;
	margin: 0;
}

.assignment-toolbar {
	align-items: end;
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(150px, auto) minmax(220px, 340px);
	justify-content: space-between;
	padding: 18px 20px 10px;
}

.assignment-options {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-height: 460px;
	overflow-y: auto;
	padding: 10px 20px 20px;
}

.assignment-options .role-permission-option[hidden] {
	display: none;
}

.assignment-actions {
	margin: 0;
}

@media (max-width: 720px) {
	.assignment-page {
		max-width: none;
	}

	.assignment-toolbar,
	.assignment-options {
		grid-template-columns: 1fr;
	}

	.assignment-actions .btn {
		box-sizing: border-box;
		width: 100%;
	}
}

/* Shared integration status and configuration surfaces. */
.integration-page {
	box-sizing: border-box;
	margin: 0 auto 24px;
	max-width: 1080px;
	width: 100%;
}

.integration-header {
	margin-bottom: 14px;
}

.integration-empty-state {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 7px;
	box-shadow: 0 3px 14px rgb(39 79 125 / 10%);
	padding: 42px 24px;
}

.integration-empty-state strong {
	color: #294e70;
	display: block;
	font-size: 17px;
	margin-top: 9px;
}

.integration-empty-state p {
	margin: 6px auto 15px;
	max-width: 560px;
}

.integration-mark {
	align-items: center;
	background: #e8f2fa;
	border-radius: 50%;
	color: #2878b8;
	display: flex;
	font-size: 16px;
	font-weight: 800;
	height: 46px;
	justify-content: center;
	margin: 0 auto;
	width: 46px;
}

.integration-admin-note {
	color: #657482;
	display: block;
	font-size: 12px;
	font-weight: 700;
}

.integration-table-scroll {
	background: #fff;
}

.integration-table {
	min-width: 720px !important;
}

.credential-redacted {
	background: #edf2f6;
	border: 1px solid #ccd7df;
	border-radius: 999px;
	color: #536779;
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	padding: 4px 9px;
}

.credential-copy-list {
	display: grid;
	gap: 9px;
	min-width: 290px;
}

.credential-copy-row {
	align-items: center;
	display: grid;
	gap: 4px 8px;
	grid-template-columns: 84px minmax(110px, 1fr) auto;
}

.credential-copy-label {
	color: #536779;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.credential-masked-value {
	background: #edf2f6;
	border: 1px solid #ccd7df;
	border-radius: 4px;
	color: #344d62;
	display: block;
	font-size: 12px;
	font-weight: 700;
	overflow-wrap: anywhere;
	padding: 6px 8px;
	word-break: break-word;
}

.credential-copy-button {
	margin: 0;
}

.credential-copy-status {
	color: #287246;
	font-size: 11px;
	grid-column: 2 / -1;
	min-height: 14px;
}

.credential-copy-status.is-error {
	color: #a52d24;
}

.integration-row-actions {
	min-width: 150px;
}

.integration-disabled-panel {
	align-items: flex-start;
	background: #fff8e8;
	border: 1px solid #e4cc9b;
	border-bottom: 0;
	display: flex;
	gap: 12px;
	padding: 22px;
}

.integration-disabled-mark {
	align-items: center;
	background: #d28a18;
	border-radius: 50%;
	color: #fff;
	display: flex;
	flex: 0 0 30px;
	font-weight: 800;
	height: 30px;
	justify-content: center;
	width: 30px;
}

.integration-disabled-panel strong,
.integration-disabled-panel p {
	display: block;
}

.integration-disabled-panel strong {
	color: #79571f;
	font-size: 15px;
}

.integration-disabled-panel p {
	color: #745f3a;
	font-size: 13px;
	line-height: 1.45;
	margin: 4px 0 0;
}

.integration-disabled-actions {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 0 0 7px 7px;
}

.credential-safety-note,
.integration-managed-notice {
	background: #edf6fc;
	border: 1px solid #bdd7e9;
	border-radius: 5px;
	box-sizing: border-box;
	display: grid;
	gap: 3px;
	margin-bottom: 16px;
	padding: 11px 13px;
}

.credential-safety-note strong,
.integration-managed-notice strong {
	color: #285d86;
}

.credential-safety-note span,
.integration-managed-notice span {
	color: #5e7485;
	font-size: 12px;
}

.integration-summary {
	background: #fff;
}

.integration-details > div {
	min-height: 46px;
}

.integration-feature-grid {
	background: #f7f9fb;
	border-top: 1px solid #dde5eb;
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 16px 18px;
}

.integration-feature-card {
	align-items: center;
	background: #fff;
	border: 1px solid #d3dde5;
	border-radius: 6px;
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 13px;
}

.integration-feature-card > strong {
	color: #294e70;
}

.integration-feature-card > small,
.integration-feature-card > .integration-action-form {
	grid-column: 1 / -1;
}

.integration-feature-card > small {
	color: #687886;
}

.integration-action-form {
	margin: 0;
}

.integration-action-form .btn[disabled] {
	cursor: not-allowed;
	opacity: .55;
}

.integration-field-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.integration-field-grid > .input {
	margin: 0;
	min-width: 0;
}

.integration-choice-grid {
	grid-template-columns: repeat(var(--integration-choice-columns), minmax(0, 1fr));
}

.integration-choice-grid .pricing-choice-card > label {
	min-height: 58px;
}

.integration-choice-spaced {
	margin-top: 10px;
}

.integration-switch-grid {
	margin-top: 12px;
}

.integration-select-panel {
	background: #f5f8fa;
	border: 1px solid #d3dce4;
	border-radius: 5px;
	margin-top: 12px;
	max-width: 520px;
	padding: 14px;
}

.integration-select-panel .input {
	margin: 0;
}

.integration-managed-notice {
	border-radius: 0;
	margin: 0;
	padding: 16px 22px;
}

@media (max-width: 720px) {
	.integration-page {
		max-width: none;
	}

	.integration-empty-state,
	.integration-summary {
		border-left: 0;
		border-radius: 0;
		border-right: 0;
	}

	.integration-field-grid,
	.integration-choice-grid,
	.integration-feature-grid {
		grid-template-columns: 1fr;
	}

	.integration-disabled-actions .btn {
		box-sizing: border-box;
		width: 100%;
	}
}

/* ACL roles, delivery-platform links, and temporary price schedulers. */
.compact-editor-page,
.delivery-platform-page,
.delivery-link-editor,
.scheduler-list-page,
.scheduler-editor {
	box-sizing: border-box;
	margin: 0 auto 24px;
	max-width: 1080px;
	width: 100%;
}

.compact-editor-page {
	max-width: 720px;
}

.compact-editor-form,
.delivery-link-form,
.scheduler-form {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 0 0 7px 7px;
	box-shadow: 0 3px 14px rgb(39 79 125 / 10%);
	margin: 0;
}

.compact-editor-section,
.delivery-link-section,
.scheduler-form-section,
.scheduler-state-section {
	border-bottom: 1px solid #e2e8ed;
	box-sizing: border-box;
	padding: 20px 22px;
}

.compact-editor-section > .input,
.delivery-link-section > .input,
.scheduler-form-section > .input {
	margin: 0;
}

.compact-editor-section .field-help,
.scheduler-value-panel p {
	color: #667482;
	font-size: 12px;
	margin: 7px 0 0;
}

.compact-editor-actions,
.delivery-link-actions,
.scheduler-form-actions {
	margin: 0;
}

.acl-role-options {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.acl-role-options .role-permission-option {
	align-items: flex-start;
	min-height: 55px;
}

.acl-role-options .role-permission-option > span {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.acl-role-options .role-permission-option strong {
	font-size: 13px;
	line-height: 1.35;
}

.acl-role-options .role-permission-option small {
	color: #74818d;
	font-size: 11px;
	overflow-wrap: anywhere;
}

.acl-role-options .role-permission-option[hidden] {
	display: none;
}

.delivery-platform-header,
.scheduler-list-header {
	margin-bottom: 14px;
}

.delivery-platform-summary,
.delivery-platform-empty,
.scheduler-empty-state {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 7px;
	box-shadow: 0 3px 14px rgb(39 79 125 / 10%);
	overflow: hidden;
}

.delivery-platform-empty,
.scheduler-empty-state {
	padding: 42px 24px;
}

.delivery-platform-empty strong,
.scheduler-empty-state strong {
	color: #294e70;
	display: block;
	font-size: 17px;
	margin-top: 9px;
}

.delivery-platform-empty p,
.scheduler-empty-state p {
	margin: 6px auto 15px;
	max-width: 520px;
}

.delivery-platform-mark,
.scheduler-empty-mark {
	align-items: center;
	background: #e8f2fa;
	border-radius: 50%;
	color: #2878b8;
	display: flex;
	font-size: 19px;
	font-weight: 800;
	height: 46px;
	justify-content: center;
	margin: 0 auto;
	width: 46px;
}

.delivery-platform-admin-note {
	color: #657482;
	display: block;
	font-size: 12px;
	font-weight: 700;
}

.delivery-platform-status {
	align-items: center;
	background: #edf8f1;
	border-bottom: 1px solid #cde4d5;
	display: flex;
	gap: 11px;
	padding: 14px 18px;
}

.delivery-platform-status > span {
	align-items: center;
	background: #2f8a57;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-weight: 800;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.delivery-platform-status strong,
.delivery-platform-status small {
	display: block;
}

.delivery-platform-status strong {
	color: #286a46;
}

.delivery-platform-status small {
	color: #587364;
	margin-top: 2px;
}

.delivery-platform-details {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: 8px 18px;
}

.delivery-platform-details > div {
	border-bottom: 1px solid #e8edf1;
	display: grid;
	gap: 5px;
	grid-template-columns: minmax(120px, .8fr) minmax(0, 1.2fr);
	padding: 13px 10px;
}

.delivery-platform-details dt {
	color: #647382;
	font-size: 12px;
	font-weight: 700;
}

.delivery-platform-details dd {
	color: #273d50;
	font-weight: 700;
	margin: 0;
	overflow-wrap: anywhere;
}

.delivery-platform-sync {
	align-items: center;
	background: #f7f9fb;
	display: flex;
	gap: 14px;
	padding: 15px 18px;
}

.delivery-platform-sync p {
	color: #657482;
	font-size: 12px;
	margin: 0;
}

.delivery-platform-sync form .btn {
	margin-top: 0;
}

.delivery-platform-sync .btn[disabled] {
	cursor: not-allowed;
	opacity: .55;
}

.section-heading-inline {
	align-items: flex-start;
	display: flex;
	gap: 11px;
	margin-bottom: 14px;
}

.section-heading-inline > span {
	align-items: center;
	background: #2b77b1;
	border-radius: 50%;
	color: #fff;
	display: flex;
	flex: 0 0 28px;
	font-size: 13px;
	font-weight: 800;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.section-heading-inline h3 {
	color: #294e70;
	font-size: 16px;
	margin: 0;
}

.section-heading-inline p {
	color: #687886;
	font-size: 12px;
	line-height: 1.45;
	margin: 3px 0 0;
}

.delivery-link-grid,
.scheduler-time-grid,
.scheduler-switch-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.delivery-link-grid > .input,
.scheduler-time-grid > .input {
	margin: 0;
	min-width: 0;
}

.pricing-choice-fieldset,
.environment-choice-fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.environment-choice-fieldset {
	margin-top: 15px;
}

.environment-choice-fieldset > legend {
	color: #40505f;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 7px;
}

.pricing-choice-grid,
.environment-choice-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.scheduler-pricing-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-choice-card {
	min-width: 0;
	position: relative;
}

.pricing-choice-card > input {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.pricing-choice-card > label {
	background: #f7f9fb;
	border: 1px solid #cbd6df;
	border-radius: 6px;
	box-sizing: border-box;
	cursor: pointer;
	display: grid;
	gap: 4px;
	margin: 0;
	min-height: 76px;
	padding: 13px 14px 13px 43px;
	position: relative;
}

.pricing-choice-card > label::before {
	background: #fff;
	border: 2px solid #9eb0bf;
	border-radius: 50%;
	box-sizing: border-box;
	content: "";
	height: 19px;
	left: 14px;
	position: absolute;
	top: 15px;
	width: 19px;
}

.pricing-choice-card > label strong,
.pricing-choice-card > label span {
	display: block;
}

.pricing-choice-card > label strong {
	color: #294e70;
	font-size: 14px;
}

.pricing-choice-card > label span {
	color: #697987;
	font-size: 12px;
	line-height: 1.4;
}

.pricing-choice-card > input:checked + label {
	background: #eaf4fb;
	border-color: #4b8dbd;
	box-shadow: 0 0 0 1px #4b8dbd;
}

.pricing-choice-card > input:checked + label::before {
	background: #2878b8;
	border: 5px solid #fff;
	box-shadow: 0 0 0 2px #2878b8;
}

.pricing-choice-card > input:focus-visible + label {
	box-shadow: 0 0 0 3px rgb(40 120 184 / 22%);
	outline: 1px solid #2878b8;
}

.pricing-value-panels,
.scheduler-value-panel {
	background: #f5f8fa;
	border: 1px solid #d3dce4;
	border-radius: 5px;
	margin-top: 12px;
	padding: 14px;
}

.pricing-value-panels > div[hidden] {
	display: none;
}

.pricing-value-panels .input,
.scheduler-value-panel {
	max-width: 440px;
}

.pricing-value-panels p {
	color: #697987;
	font-size: 12px;
	margin: 7px 0 0;
}

.scheduler-list-page .list-page-meta {
	margin-top: 0;
}

.scheduler-table-scroll {
	background: #fff;
}

.scheduler-table {
	min-width: 1040px !important;
}

.scheduler-date-cell {
	white-space: nowrap;
}

.status-badge,
.download-state {
	background: #eef2f5;
	border: 1px solid #d2dbe2;
	border-radius: 999px;
	color: #586775;
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	padding: 4px 8px;
	white-space: nowrap;
}

.status-badge.is-active,
.download-state.is-downloaded {
	background: #e7f5ed;
	border-color: #b9ddc8;
	color: #287347;
}

.status-badge.is-inactive {
	background: #f3f4f5;
	color: #727b83;
}

.scheduler-row-actions {
	min-width: 145px;
}

.settings-toggle-card {
	align-items: flex-start;
	background: #f7f9fb;
	border: 1px solid #cbd6df;
	border-radius: 6px;
	cursor: pointer;
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 12px 13px;
}

.settings-toggle-card:has(input:checked) {
	background: #eaf4fb;
	border-color: #4b8dbd;
}

.settings-toggle-card input {
	accent-color: #2878b8;
	margin: 2px 0 0;
}

.settings-toggle-card span,
.settings-toggle-card strong,
.settings-toggle-card small {
	display: block;
}

.settings-toggle-card strong {
	color: #294e70;
}

.settings-toggle-card small {
	color: #697987;
	font-size: 12px;
	margin-top: 3px;
}

.scheduler-value-panel > label {
	color: #40505f;
	display: block;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 5px;
}

@media (max-width: 720px) {
	.acl-role-options,
	.delivery-platform-details,
	.delivery-link-grid,
	.scheduler-time-grid,
	.scheduler-switch-grid,
	.pricing-choice-grid,
	.environment-choice-grid,
	.scheduler-pricing-grid {
		grid-template-columns: 1fr;
	}

	.compact-editor-page,
	.delivery-platform-page,
	.delivery-link-editor,
	.scheduler-list-page,
	.scheduler-editor {
		max-width: none;
	}

	.compact-editor-page > .catalog-editor-header,
	.delivery-link-editor > .catalog-editor-header,
	.scheduler-editor > .catalog-editor-header {
		border-left: 0;
		border-radius: 0;
		border-right: 0;
	}

	.compact-editor-form,
	.delivery-link-form,
	.scheduler-form,
	.delivery-platform-summary,
	.delivery-platform-empty,
	.scheduler-empty-state {
		border-left: 0;
		border-radius: 0;
		border-right: 0;
	}

	.delivery-platform-details > div {
		grid-template-columns: minmax(120px, .8fr) minmax(0, 1.2fr);
	}

	.delivery-platform-sync {
		align-items: stretch;
		flex-direction: column;
	}

	.delivery-platform-sync .btn,
	.compact-editor-actions .btn,
	.delivery-link-actions .btn,
	.scheduler-form-actions .btn {
		box-sizing: border-box;
		width: 100%;
	}
}

.send-editor-page,
.store-contact-page,
.tax-editor-page,
.tax-form-page {
	box-sizing: border-box;
	margin: 0 auto 24px;
	max-width: 1080px;
	width: 100%;
}

.send-editor-page {
	max-width: 920px;
}

.send-editor-form,
.store-contact-form,
.tax-form {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 0 0 7px 7px;
	box-shadow: 0 3px 14px rgb(39 79 125 / 10%);
	margin: 0;
}

.send-editor-section,
.store-contact-section,
.tax-form-section,
.tax-detail-section {
	border-bottom: 1px solid #e2e8ed;
	box-sizing: border-box;
	padding: 20px 22px;
}

.send-section-heading,
.store-contact-section-heading {
	align-items: flex-start;
	display: flex;
	gap: 11px;
	margin-bottom: 14px;
}

.send-section-heading > span {
	align-items: center;
	background: #2b77b1;
	border-radius: 50%;
	color: #fff;
	display: flex;
	flex: 0 0 28px;
	font-size: 13px;
	font-weight: 800;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.send-section-heading h3,
.store-contact-section-heading h3,
.tax-detail-toolbar h3,
.combined-tax-section h3 {
	color: #294e70;
	font-size: 16px;
	margin: 0;
}

.send-section-heading p,
.store-contact-section-heading p,
.combined-tax-section header p {
	color: #687886;
	font-size: 13px;
	line-height: 1.45;
	margin: 3px 0 0;
}

.send-selection-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.send-selection-toolbar {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-bottom: 10px;
}

.send-selection-toolbar > div {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.send-selection-toolbar .btn {
	margin: 0;
}

.send-selection-toolbar > span {
	color: #607586;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.send-selection-card {
	min-width: 0;
	position: relative;
}

.send-selection-card > input {
	opacity: 0;
	position: absolute;
	pointer-events: none;
}

.send-selection-card > label {
	background: #f7f9fb;
	border: 1px solid #cbd6df;
	border-radius: 6px;
	box-sizing: border-box;
	cursor: pointer;
	display: grid;
	gap: 4px;
	margin: 0;
	min-height: 76px;
	padding: 13px 14px 13px 43px;
	position: relative;
}

.send-selection-card > label::before {
	align-items: center;
	background: #fff;
	border: 2px solid #9eb0bf;
	border-radius: 4px;
	color: transparent;
	content: '\2713';
	display: flex;
	font-size: 13px;
	font-weight: 800;
	height: 19px;
	justify-content: center;
	left: 14px;
	position: absolute;
	top: 15px;
	width: 19px;
}

.send-selection-card > label strong {
	color: #294e70;
	font-size: 14px;
}

.send-selection-card > label span {
	color: #697987;
	font-size: 12px;
	line-height: 1.4;
}

.send-selection-card > input:checked + label {
	background: #eaf4fb;
	border-color: #4b8dbd;
	box-shadow: 0 0 0 1px #4b8dbd;
}

.send-selection-card > input:checked + label::before {
	background: #2878b8;
	border-color: #2878b8;
	color: #fff;
}

.send-selection-card > input:focus-visible + label {
	box-shadow: 0 0 0 3px rgb(40 120 184 / 22%);
	outline: 1px solid #2878b8;
}

.send-current-schedule {
	align-items: center;
	background: #fff7e8;
	border: 1px solid #e2c796;
	border-radius: 5px;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	margin-bottom: 12px;
	padding: 9px 12px;
}

.send-current-schedule strong {
	color: #7e5a22;
	font-size: 12px;
	text-transform: uppercase;
}

.send-current-schedule span {
	color: #654f2d;
	font-size: 13px;
}

.send-schedule-options > .radio {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.send-schedule-options label,
.tax-type-options label {
	align-items: center;
	background: #f7f9fb;
	border: 1px solid #cbd6df;
	border-radius: 5px;
	cursor: pointer;
	display: flex;
	font-weight: 700;
	gap: 8px;
	margin: 0;
	min-height: 46px;
	padding: 8px 12px;
}

.send-schedule-options label:has(input:checked),
.tax-type-options label:has(input:checked),
.combine-tax-option label:has(input:checked) {
	background: #eaf4fb;
	border-color: #4b8dbd;
	box-shadow: 0 0 0 1px #4b8dbd;
	color: #245f8a;
}

.send-schedule-panel {
	background: #f5f8fa;
	border: 1px solid #d3dce4;
	border-radius: 5px;
	margin-top: 12px;
	padding: 14px;
}

.send-schedule-panel[hidden] {
	display: none;
}

.send-schedule-panel .input {
	margin: 0;
	max-width: 360px;
}

.send-schedule-panel p {
	color: #697987;
	font-size: 12px;
	margin: 8px 0 0;
}

.send-editor-actions,
.store-contact-actions,
.tax-detail-actions,
.tax-form-actions {
	border-top: 0;
	margin: 0;
}

.store-contact-send-state {
	background: #edf3f7;
	border: 1px solid #c7d5df;
	border-radius: 999px;
	color: #526b7f;
	font-size: 12px;
	font-weight: 700;
	padding: 5px 10px;
	white-space: nowrap;
}

.store-contact-send-state.is-pending {
	background: #fff2dd;
	border-color: #e3c18a;
	color: #805a21;
}

.store-contact-workflow {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
}

.store-contact-workflow li {
	align-items: flex-start;
	background: #f7f9fb;
	border: 1px solid #d1dce4;
	border-radius: 6px;
	display: flex;
	gap: 10px;
	padding: 11px 13px;
}

.store-contact-workflow li > span {
	align-items: center;
	background: #dfeaf2;
	border-radius: 50%;
	color: #3d657f;
	display: flex;
	flex: 0 0 25px;
	font-size: 12px;
	font-weight: 800;
	height: 25px;
	justify-content: center;
}

.store-contact-workflow li.is-complete {
	background: #eaf6ee;
	border-color: #afd2bb;
}

.store-contact-workflow li.is-complete > span {
	background: #2f8a57;
	color: #fff;
}

.store-contact-workflow li > div {
	display: grid;
	gap: 3px;
}

.store-contact-workflow strong {
	color: #294e70;
	font-size: 13px;
}

.store-contact-workflow small {
	color: #687886;
	font-size: 11px;
	line-height: 1.4;
}

.store-contact-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.store-contact-grid > .input,
.store-contact-section > .input {
	margin: 0;
	min-width: 0;
}

.store-contact-grid > .input:has(.store-contact-wide) {
	grid-column: span 2;
}

.store-contact-form textarea {
	min-height: 92px;
	resize: vertical;
}

.store-contact-delivery {
	align-items: center;
	background: #f4f8fb;
	border: 1px solid #cbd9e4;
	border-radius: 6px;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-top: 14px;
	padding: 14px 16px;
}

.store-contact-delivery > div {
	display: grid;
	gap: 3px;
}

.store-contact-delivery strong {
	color: #294e70;
}

.store-contact-delivery span {
	color: #687886;
	font-size: 13px;
}

.store-contact-delivery form,
.store-contact-delivery .btn {
	flex: 0 0 auto;
	margin: 0;
}

.tax-editor-header {
	margin-bottom: 14px;
}

.tax-master-notice,
.tax-empty-state {
	align-items: center;
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 7px;
	box-shadow: 0 3px 12px rgb(39 79 125 / 9%);
	display: flex;
	gap: 14px;
	justify-content: center;
	min-height: 150px;
	padding: 24px;
}

.tax-master-icon,
.tax-empty-state > span {
	align-items: center;
	background: #e9f1f7;
	border: 1px solid #bfd0dd;
	border-radius: 50%;
	color: #315f82;
	display: flex;
	flex: 0 0 48px;
	font-size: 17px;
	font-weight: 800;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.tax-master-notice strong,
.tax-empty-state strong {
	color: #294e70;
	font-size: 16px;
}

.tax-master-notice p,
.tax-empty-state p {
	color: #687886;
	margin: 4px 0 0;
}

.tax-empty-state {
	flex-direction: column;
	text-align: center;
}

.tax-empty-state.compact {
	box-shadow: none;
	min-height: 110px;
}

.tax-editor-layout {
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
}

.tax-editor-sidebar {
	align-self: start;
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 6px;
	box-shadow: 0 3px 12px rgb(39 79 125 / 8%);
	overflow: hidden;
}

.tax-sidebar-title {
	background: #eef3f7;
	border-bottom: 1px solid #d3dde5;
	color: #526b7f;
	display: block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .05em;
	padding: 10px 12px;
	text-transform: uppercase;
}

.tax-sidebar-list {
	display: grid;
	max-height: 560px;
	overflow-y: auto;
}

.tax-sidebar-item {
	border-bottom: 1px solid #e3e9ee;
	display: grid;
	gap: 3px;
	padding: 11px 12px;
	text-decoration: none;
}

.tax-sidebar-item:last-child {
	border-bottom: 0;
}

.tax-sidebar-item strong {
	color: #345b7b;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tax-sidebar-item span {
	color: #788590;
	font-size: 11px;
}

.tax-sidebar-item.is-active {
	background: #eaf4fb;
	box-shadow: inset 4px 0 #2878b8;
}

.tax-editor-main {
	min-width: 0;
}

.tax-detail-toolbar {
	align-items: center;
	background: #eef3f7;
	border: 1px solid #cfd9e2;
	border-radius: 7px 7px 0 0;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	padding: 14px 16px;
}

.tax-detail-toolbar > div {
	display: grid;
	gap: 3px;
}

.tax-detail-toolbar span,
.tax-detail-toolbar small {
	color: #687886;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.tax-detail-toolbar form,
.tax-detail-toolbar .btn {
	margin: 0;
}

.tax-detail-form {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 0 0 7px 7px;
	border-top: 0;
	margin: 0;
}

.tax-detail-grid,
.tax-form-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tax-detail-grid > .input,
.tax-form-grid > .input {
	margin: 0;
	min-width: 0;
}

.combined-tax-section {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 7px;
	box-shadow: 0 3px 12px rgb(39 79 125 / 8%);
	margin-top: 16px;
	padding: 16px;
}

.combined-tax-section > header {
	align-items: flex-start;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	margin-bottom: 12px;
}

.combined-tax-table {
	margin: 0;
	min-width: 760px;
}

.combined-tax-table td {
	vertical-align: middle !important;
}

.combined-tax-move-heading,
.combined-tax-actions-heading,
.combined-tax-actions {
	text-align: center;
	width: 76px;
}

.combined-tax-table .dragHandle {
	color: #52718a;
	cursor: grab;
	font-size: 19px;
	font-weight: 800;
	text-align: center;
}

.combined-tax-table tr.is-dragging {
	background: #eaf4fb;
	opacity: .9;
}

.combined-tax-actions form,
.combined-tax-actions .btn {
	margin: 0;
}

.combined-tax-empty {
	background: #f6f8fa;
	border: 1px dashed #c5d1da;
	border-radius: 5px;
	color: #687886;
	padding: 24px;
	text-align: center;
}

.tax-sequence-status {
	color: #687886;
	font-size: 12px;
	margin: 10px 0 0;
}

.tax-sequence-status.is-success {
	color: #267247;
}

.tax-sequence-status.is-error {
	color: #9a3d35;
}

.tax-form-page {
	max-width: 760px;
}

.tax-type-fieldset,
.combine-tax-fieldset {
	border: 0;
	margin: 18px 0 0;
	padding: 0;
}

.tax-type-fieldset legend,
.combine-tax-fieldset legend {
	color: #294e70;
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 8px;
}

.tax-type-options > .radio,
.combine-tax-options > .radio {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tax-type-fieldset > p {
	color: #687886;
	font-size: 12px;
	margin: 8px 0 0;
}

.combine-tax-options label {
	align-items: center;
	background: #f7f9fb;
	border: 1px solid #cbd6df;
	border-radius: 5px;
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	font-weight: 700;
	gap: 8px;
	height: 100%;
	margin: 0;
	min-height: 54px;
	padding: 10px 12px;
}

@media (max-width: 767px) {
	.send-editor-form,
	.store-contact-form,
	.tax-form,
	.tax-detail-form {
		border-left: 0;
		border-radius: 0;
		border-right: 0;
	}

	.send-selection-grid,
	.send-schedule-options > .radio,
	.store-contact-grid,
	.store-contact-workflow,
	.tax-detail-grid,
	.tax-form-grid,
	.tax-type-options > .radio,
	.combine-tax-options > .radio {
		grid-template-columns: 1fr;
	}

	.send-selection-toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.send-selection-toolbar > span {
		white-space: normal;
	}

	.store-contact-grid > .input:has(.store-contact-wide) {
		grid-column: auto;
	}

	.send-current-schedule,
	.store-contact-delivery,
	.tax-detail-toolbar,
	.combined-tax-section > header {
		align-items: stretch;
		flex-direction: column;
	}

	.store-contact-delivery .btn,
	.tax-detail-toolbar .btn,
	.combined-tax-section > header .btn {
		box-sizing: border-box;
		width: 100%;
	}

	.tax-editor-layout {
		grid-template-columns: 1fr;
	}

	.tax-sidebar-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-height: 230px;
	}

	.tax-sidebar-item:nth-child(odd) {
		border-right: 1px solid #e3e9ee;
	}

	.tax-master-notice {
		align-items: flex-start;
		flex-direction: column;
	}
}

.second-display-page,
.second-display-upload-page,
.stock-module-page,
.stock-placeholder-page {
	box-sizing: border-box;
	margin: 0 auto 24px;
	max-width: 1120px;
	width: 100%;
}

.second-display-header,
.stock-module-header {
	margin-bottom: 14px;
}

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

.second-display-header-actions .btn,
.second-display-header-actions form {
	margin: 0;
}

.second-display-sync-state {
	align-items: center;
	background: #f4f8fb;
	border: 1px solid #cbd9e4;
	border-radius: 5px;
	box-sizing: border-box;
	display: flex;
	gap: 12px;
	margin-bottom: 16px;
	padding: 10px 14px;
}

.second-display-sync-state strong {
	background: #e4edf4;
	border-radius: 999px;
	color: #3f617b;
	font-size: 12px;
	padding: 4px 9px;
	white-space: nowrap;
}

.second-display-sync-state span {
	color: #607282;
	font-size: 13px;
	line-height: 1.45;
}

.second-display-sync-state.is-pending {
	background: #fff7e8;
	border-color: #e2c796;
}

.second-display-sync-state.is-pending strong {
	background: #f5dfb8;
	color: #7d581d;
}

/* ── Premium Second Display: hero + gallery ── */
.second-display-hero {
	align-items: center;
	background: linear-gradient(135deg, #173f61 0%, #236a83 62%, #2d8b86 100%);
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(24, 66, 94, .16);
	color: #fff;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	padding: 20px 22px;
	margin-bottom: 14px;
}

.second-display-eyebrow {
	color: #a8e6dc;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.second-display-hero-copy h2 {
	color: #fff;
	font-size: clamp(22px, 3.2vw, 28px);
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 0;
}

.second-display-hero-desc {
	color: rgba(255,255,255,.84);
	font-size: 13px;
	line-height: 1.45;
	margin: 6px 0 0;
}

.second-display-hero-actions {
	align-items: center;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.second-display-hero-actions form {
	display: flex;
	margin: 0;
}

.second-display-hero-actions .btn {
	align-items: center;
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	line-height: 1.2;
	margin: 0;
	min-height: 36px;
	white-space: nowrap;
}

.second-display-hero-btn {
	box-shadow: 0 6px 16px rgba(16, 45, 60, .18);
	white-space: nowrap;
}

.second-display-page .asset-summary-strip.second-display-summary {
	gap: 12px;
	margin-bottom: 14px;
}

.second-display-page .asset-summary-item {
	background: #fff;
	border: 1px solid #d8e2e8;
	border-left-width: 1px;
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(31, 67, 88, .06);
	transition: transform .15s ease, box-shadow .15s ease;
}

.second-display-page .asset-summary-item:hover {
	box-shadow: 0 8px 18px rgba(31, 67, 88, .10);
	transform: translateY(-1px);
}

.second-display-page .second-display-sync-state {
	background: #fff;
	border: 1px solid #d8e2e8;
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(31, 67, 88, .06);
	padding: 12px 14px;
}

.asset-summary-strip {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	margin: 0 0 16px;
}

.asset-summary-item {
	background: #f7f9fb;
	border: 1px solid #d3dde5;
	border-left: 4px solid #7898b2;
	border-radius: 5px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	padding: 10px 12px;
}

.asset-summary-item span {
	color: #687987;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.asset-summary-item strong {
	color: #294e70;
	font-size: 20px;
}

.asset-summary-item.needs-attention {
	background: #fff8eb;
	border-color: #e3c996;
	border-left-color: #c58a31;
}

.asset-summary-item.needs-attention strong {
	color: #875d20;
}

/* ── Premium Add-ons: hero + table card ── */
.addon-list-page,
.addon-editor {
	box-sizing: border-box;
	margin: 0 auto 24px;
	max-width: 1120px;
}

.addon-hero,
.addon-editor-hero {
	align-items: center;
	background: linear-gradient(135deg, #173f61 0%, #236a83 62%, #2d8b86 100%);
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(24, 66, 94, .16);
	color: #fff;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	padding: 20px 22px;
	margin-bottom: 16px;
}

.addon-eyebrow {
	color: #a8e6dc;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.addon-hero-copy h2,
.addon-editor-hero h2 {
	color: #fff;
	font-size: clamp(22px, 3.2vw, 28px);
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 0;
}

.addon-hero-desc {
	color: rgba(255,255,255,.84);
	font-size: 13px;
	line-height: 1.45;
	margin: 6px 0 0;
}

.addon-hero-actions {
	align-items: center;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.addon-hero-btn {
	box-shadow: 0 6px 16px rgba(16, 45, 60, .18);
	white-space: nowrap;
}

.addon-hero-count {
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	color: #e6f7f5;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	padding: 5px 10px;
	text-transform: uppercase;
	white-space: nowrap;
}

.addon-hero-icon {
	align-items: center;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 10px;
	color: #fff;
	display: flex;
	flex: 0 0 52px;
	font-size: 14px;
	font-weight: 800;
	height: 52px;
	justify-content: center;
	letter-spacing: .06em;
	width: 52px;
}

.addon-list-page .asset-summary-strip {
	gap: 12px;
	margin-bottom: 14px;
}

.addon-list-page .asset-summary-item {
	background: #fff;
	border: 1px solid #d8e2e8;
	border-left-width: 1px;
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(31, 67, 88, .06);
	padding: 12px 14px;
	transition: transform .15s ease, box-shadow .15s ease;
}

.addon-list-page .asset-summary-item span { color: #6b8a9c; }
.addon-list-page .asset-summary-item strong { color: #173f5a; }
.addon-list-page .asset-summary-item:hover {
	box-shadow: 0 8px 18px rgba(31, 67, 88, .10);
	transform: translateY(-1px);
}

.addon-list-page .asset-summary-item.needs-attention {
	background: #fff8ec;
	border-color: #e8c99a;
}

.addon-list-page .list-table-scroll {
	background: #fff;
	border: 1px solid #d8e2e8;
	border-radius: 11px;
	box-shadow: 0 8px 22px rgba(31, 67, 88, .08);
	overflow: hidden;
}

.addon-list-table {
	margin: 0;
}

.addon-list-table thead th {
	background: #f3f7f9;
	border-bottom: 1px solid #d8e2e8;
	color: #5a7585;
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 10px 14px;
}

.addon-list-table tbody td {
	padding: 10px 14px;
	vertical-align: middle;
}

.addon-version-badge {
	background: #eef4f7;
	border: 1px solid #c8dde6;
	border-radius: 999px;
	color: #2a5d74;
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	padding: 3px 9px;
}

.asset-package-state {
	color: #667986;
	font-size: 12px;
}

.asset-package-state.is-missing {
	background: #fff7e8;
	border: 1px solid #e8c99a;
	border-radius: 999px;
	color: #7d5a1d;
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 9px;
}

.addon-editor .catalog-editor-form .product-tabs {
	border: 1px solid #d8e2e8;
	border-radius: 11px;
	box-shadow: 0 8px 22px rgba(31, 67, 88, .07);
	overflow: hidden;
}

.addon-editor .catalog-editor-form fieldset {
	background: #fff;
	border: 0;
	padding: 16px;
}

.second-display-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.second-display-card {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 7px;
	box-shadow: 0 3px 12px rgb(39 79 125 / 9%);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
}

.second-display-preview {
	align-items: center;
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, #edf2f6, #dfe7ed);
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.second-display-preview img,
.second-display-preview video {
	display: block;
	height: 100%;
	max-height: none;
	max-width: none;
	object-fit: contain;
	width: 100%;
}

.second-display-preview-unavailable {
	align-items: center;
	color: #64788a;
	display: flex;
	flex-direction: column;
	font-size: 13px;
	gap: 8px;
}

.second-display-preview-unavailable span,
.second-display-empty-icon {
	align-items: center;
	background: #fff;
	border: 1px solid #c5d2dc;
	border-radius: 50%;
	color: #557087;
	display: flex;
	font-size: 16px;
	font-weight: 800;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.second-display-card-copy {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 13px 14px;
}

.second-display-card-copy > div {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.second-display-card-copy strong {
	color: #294e70;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.second-display-type {
	color: #6b7986;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.second-display-card-copy .btn,
.second-display-card-copy form {
	flex: 0 0 auto;
	margin: 0;
}

.second-display-empty {
	align-items: center;
	background: #fff;
	border: 1px dashed #b9c9d5;
	border-radius: 7px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 42px 20px;
	text-align: center;
}

.second-display-empty strong {
	color: #294e70;
	font-size: 17px;
}

.second-display-empty p {
	color: #667582;
	margin: 0 0 6px;
}

/* Premium Second Display gallery card polish */
.second-display-page .second-display-card {
	border: 1px solid #d8e2e8;
	border-radius: 11px;
	box-shadow: 0 6px 18px rgba(31, 67, 88, .08);
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.second-display-page .second-display-card:hover {
	border-color: #7fb3c6;
	box-shadow: 0 10px 24px rgba(31, 67, 88, .14);
	transform: translateY(-2px);
}

.second-display-page .second-display-empty {
	background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
	border: 1px solid #d8e2e8;
	border-radius: 11px;
	box-shadow: 0 8px 22px rgba(31, 67, 88, .07);
}

.second-display-upload-page {
	max-width: 820px;
}

.second-display-upload-panel {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 0 0 7px 7px;
	box-shadow: 0 3px 14px rgb(39 79 125 / 10%);
	box-sizing: border-box;
	padding: 22px;
}

.second-display-upload-guidance {
	display: grid;
	gap: 4px;
	margin-bottom: 14px;
}

.second-display-upload-guidance strong {
	color: #294e70;
	font-size: 15px;
}

.second-display-upload-guidance span {
	color: #687886;
	font-size: 13px;
}

.second-display-upload-panel .ajax-upload-dragdrop {
	align-items: center;
	background: #f6f9fb;
	border: 2px dashed #9db5c7;
	border-radius: 7px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	min-height: 170px;
	padding: 24px;
	text-align: center;
	width: 100% !important;
}

.second-display-upload-panel .ajax-upload-dragdrop.state-hover {
	background: #e9f4fc;
	border-color: #2878b8;
}

.second-display-upload-panel .ajax-upload-dragdrop > span {
	color: #4d6578;
	display: grid;
	font-size: 14px;
	gap: 5px;
}

.second-display-upload-panel .ajax-upload-dragdrop > span strong {
	color: #294e70;
	font-size: 16px;
}

.second-display-upload-panel .ajax-upload-dragdrop > span small {
	font-size: 12px;
	font-weight: 400;
}

.second-display-upload-panel .ajax-file-upload {
	background: #2878b8;
	border: 0;
	border-radius: 5px;
	box-shadow: none;
	box-sizing: border-box;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	margin: 0 16px 0 0;
	padding: 10px 16px;
}

.second-display-upload-panel .ajax-file-upload-statusbar {
	border-color: #d0dae2;
	box-sizing: border-box;
	width: 100% !important;
}

.second-display-native-upload {
	background: #f7f9fb;
	border: 2px dashed #9db5c7;
	border-radius: 7px;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 18px;
}

.second-display-native-upload > label {
	display: grid;
	gap: 4px;
	grid-column: 1 / -1;
	margin: 0;
}

.second-display-native-upload > label strong {
	color: #294e70;
	font-size: 15px;
}

.second-display-native-upload > label span {
	color: #687886;
	font-size: 12px;
}

.second-display-native-upload input[type="file"] {
	align-self: center;
	min-width: 0;
	width: 100%;
}

.second-display-native-upload .btn {
	margin: 0;
	white-space: nowrap;
}

.second-display-upload-status {
	background: #f4f7f9;
	border: 1px solid #d5dee5;
	border-radius: 5px;
	color: #667582;
	font-size: 13px;
	margin-top: 14px;
	padding: 10px 12px;
}

.second-display-upload-status.is-uploading {
	background: #edf5fb;
	border-color: #b9d3e6;
	color: #28648f;
}

.second-display-upload-status.is-success {
	background: #eaf6ee;
	border-color: #afd2bb;
	color: #267247;
}

.second-display-upload-status.is-error {
	background: #fff0ef;
	border-color: #e2b5b1;
	color: #9a3d35;
}

.second-display-upload-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 14px;
}

.stock-module-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.stock-module-card,
.stock-placeholder-card {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 7px;
	box-shadow: 0 3px 12px rgb(39 79 125 / 9%);
	box-sizing: border-box;
	display: flex;
	gap: 14px;
	padding: 18px;
}

.stock-module-icon {
	align-items: center;
	background: #e9f1f7;
	border: 1px solid #bfd0dd;
	border-radius: 8px;
	color: #315f82;
	display: flex;
	flex: 0 0 48px;
	font-size: 14px;
	font-weight: 800;
	height: 48px;
	justify-content: center;
	letter-spacing: .05em;
	width: 48px;
}

.stock-module-copy,
.stock-placeholder-card > div {
	display: grid;
	gap: 8px;
	min-width: 0;
}

.stock-module-title-row {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: space-between;
}

.stock-module-card h3,
.stock-placeholder-card h3 {
	color: #294e70;
	font-size: 16px;
	margin: 0;
}

.stock-module-card p,
.stock-placeholder-card p {
	color: #667582;
	font-size: 13px;
	line-height: 1.5;
	margin: 0;
}

.stock-module-state {
	background: #fff4df;
	border: 1px solid #e3c492;
	border-radius: 999px;
	color: #805b23;
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	white-space: nowrap;
}

.stock-module-link {
	color: #1f6ea9;
	font-size: 13px;
	font-weight: 700;
	justify-self: start;
	text-decoration: none;
}

.stock-module-link::after {
	content: " \2192";
}

.stock-placeholder-page {
	max-width: 820px;
}

.stock-placeholder-card {
	align-items: flex-start;
	border-radius: 0 0 7px 7px;
	padding: 24px;
}

.stock-placeholder-card .stock-module-state {
	justify-self: start;
}

.stock-placeholder-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
	margin-top: 14px;
}

/* ── Premium Stock modules: hero + elevated cards ── */
.stock-module-hero {
	align-items: center;
	background: linear-gradient(135deg, #173f61 0%, #236a83 62%, #2d8b86 100%);
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(24, 66, 94, .16);
	color: #fff;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	padding: 22px 24px;
	margin-bottom: 16px;
}

.stock-module-eyebrow {
	color: #a8e6dc;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.stock-module-hero-copy h2 {
	color: #fff;
	font-size: clamp(24px, 3.5vw, 30px);
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 0;
}

.stock-module-hero-desc {
	color: rgba(255,255,255,.84);
	font-size: 13px;
	line-height: 1.45;
	margin: 6px 0 0;
	max-width: 560px;
}

.stock-module-hero-meta {
	align-items: stretch;
	background: rgba(255,255,255,.11);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 10px;
	display: flex;
	gap: 0;
	min-width: 280px;
	overflow: hidden;
}

.stock-module-hero-stat {
	display: grid;
	gap: 2px;
	padding: 12px 14px;
	min-width: 0;
	flex: 1 1 0;
	text-align: center;
}

.stock-module-hero-stat + .stock-module-hero-stat {
	border-left: 1px solid rgba(255,255,255,.18);
}

.stock-module-hero-stat strong {
	color: #fff;
	font-size: 22px;
	line-height: 1;
}

.stock-module-hero-stat span {
	color: rgba(255,255,255,.78);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.stock-module-hero-stat.is-muted strong { color: #d8ecea; }

.stock-module-hero-link {
	align-self: center;
	background: #fff;
	border-radius: 999px;
	color: #1e5a70;
	font-size: 12px;
	font-weight: 800;
	margin: 8px 10px 8px 0;
	padding: 7px 14px;
	text-decoration: none;
	white-space: nowrap;
}

.stock-module-hero-link:hover,
.stock-module-hero-link:focus {
	background: #eef7f8;
	color: #173f5a;
	text-decoration: none;
}

.stock-module-page .stock-module-grid {
	gap: 16px;
}

.stock-module-card {
	border: 1px solid #d8e2e8;
	border-radius: 11px;
	box-shadow: 0 6px 18px rgba(31, 67, 88, .08);
	padding: 18px 18px;
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.stock-module-card:hover {
	border-color: #7fb3c6;
	box-shadow: 0 10px 24px rgba(31, 67, 88, .14);
	transform: translateY(-2px);
}

.stock-module-icon {
	background: linear-gradient(135deg, #e8f3f6 0%, #e6eff3 100%);
	border: 1px solid #c8dde6;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.stock-module-state {
	background: #fff7e8;
	border-color: #e2c696;
	color: #7d5a1d;
}

.stock-module-link {
	background: #f3f7f9;
	border: 1px solid #d6e3e8;
	border-radius: 999px;
	color: #24546b;
	display: inline-flex;
	font-size: 12px;
	padding: 6px 12px;
	text-decoration: none;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.stock-module-link:hover,
.stock-module-link:focus {
	background: #1e5a73;
	border-color: #1e5a73;
	color: #fff;
	text-decoration: none;
}

.stock-module-footnote {
	color: #7a8e9b;
	font-size: 11px;
	margin: 14px 0 0;
	text-align: center;
}

.stock-placeholder-hero {
	align-items: center;
	background: linear-gradient(135deg, #173f61 0%, #236a83 62%, #2d8b86 100%);
	border-radius: 12px;
	box-shadow: 0 12px 28px rgba(24, 66, 94, .16);
	color: #fff;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	padding: 20px 22px;
	margin-bottom: 16px;
}

.stock-placeholder-hero #stock-placeholder-heading {
	color: #fff;
	font-size: clamp(22px, 3.2vw, 28px);
	margin: 0;
}

.stock-placeholder-hero-desc {
	color: rgba(255,255,255,.84);
	font-size: 13px;
	margin: 6px 0 0;
}

.stock-placeholder-hero-icon {
	align-items: center;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 10px;
	color: #fff;
	display: flex;
	flex: 0 0 52px;
	font-size: 18px;
	font-weight: 800;
	height: 52px;
	justify-content: center;
	width: 52px;
}

.stock-placeholder-card-hint {
	color: #7a8e9b;
	font-size: 11px;
	margin: 6px 0 0;
}

@media (max-width: 767px) {
	.second-display-header-actions,
	.second-display-sync-state,
	.stock-module-card,
	.stock-placeholder-card {
		align-items: stretch;
		flex-direction: column;
	}

	.second-display-header-actions,
	.second-display-header-actions .btn,
	.second-display-upload-actions .btn,
	.stock-placeholder-actions .btn {
		box-sizing: border-box;
		width: 100%;
	}

	.second-display-sync-state strong {
		align-self: flex-start;
	}

	.second-display-upload-panel {
		border-left: 0;
		border-radius: 0;
		border-right: 0;
		padding: 16px;
	}

	.second-display-upload-panel .ajax-upload-dragdrop {
		flex-direction: column;
		gap: 14px;
		min-height: 190px;
	}

	.second-display-upload-panel .ajax-file-upload {
		margin: 0;
	}

	.stock-module-grid {
		grid-template-columns: 1fr;
	}

	.stock-module-icon {
		align-self: flex-start;
	}

	.stock-module-hero {
		flex-direction: column;
		align-items: stretch;
		padding: 18px;
	}

	.stock-module-hero-meta {
		min-width: 0;
	}

	.stock-module-hero-link {
		align-self: stretch;
		text-align: center;
		margin: 0 10px 10px;
	}

	.stock-placeholder-hero {
		flex-direction: column;
		align-items: stretch;
		padding: 18px;
	}

	.stock-placeholder-hero-icon {
		align-self: flex-start;
	}

	.addon-hero,
	.addon-editor-hero {
		flex-direction: column;
		align-items: stretch;
		padding: 18px;
	}

	.addon-hero-actions {
		justify-content: stretch;
	}

	.addon-hero-btn {
		width: 100%;
		text-align: center;
	}

	.addon-hero-icon {
		align-self: flex-start;
	}

	.second-display-hero {
		flex-direction: column;
		align-items: stretch;
		padding: 18px;
	}

	.second-display-hero-actions {
		justify-content: stretch;
	}

	.second-display-hero-btn,
	.second-display-hero-actions form,
	.second-display-hero-actions form .btn {
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}
}

.list-toolbar {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin: 0 0 16px;
	width: 100%;
}

.list-toolbar form {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	margin: 0;
}

.list-toolbar .input {
	margin: 0;
}

.list-toolbar .form-control {
	margin: 0;
	min-width: 180px;
	width: auto;
}

.list-toolbar .list-search-form {
	margin-left: auto;
}

.list-toolbar .list-search-form .input.text .form-control {
	min-width: 260px;
}

.paginator-link {
	box-sizing: border-box;
	display: inline-block;
	line-height: 20px;
	min-width: 36px;
	padding: 8px 10px;
	text-align: center;
}

.paginator-link.current {
	background: #27507e;
	border-radius: 3px;
	color: #fff;
}

.paginator-link.disabled {
	color: #888;
}

.list-page-meta {
	align-items: center;
	background: #f7f9fb;
	border: 1px solid #d7e0e8;
	border-radius: 5px;
	box-sizing: border-box;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin: 12px 0;
	padding: 9px 12px;
}

.list-record-limits {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.list-record-limits strong,
.list-record-summary {
	color: #526271;
	font-size: 12px;
}

.list-record-limits a {
	background: #fff;
	border: 1px solid #cbd6df;
	border-radius: 4px;
	box-sizing: border-box;
	color: #27507e;
	font-size: 12px;
	font-weight: 700;
	min-width: 34px;
	padding: 5px 8px;
	text-align: center;
}

.list-record-limits a:hover,
.list-record-limits a.is-current {
	background: #27507e;
	border-color: #27507e;
	color: #fff;
	text-decoration: none;
}

.list-pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	justify-content: center;
	margin: 12px 0 16px;
}

.list-pagination .paginator-link {
	background: #fff;
	border: 1px solid #cbd6df;
	border-radius: 4px;
	text-decoration: none;
}

.list-pagination .paginator-link:hover:not(.disabled),
.list-pagination .paginator-link.current {
	background: #27507e;
	border-color: #27507e;
	color: #fff;
}

.list-table-scroll {
	border: 1px solid #d6dee6;
	border-radius: 5px;
	box-sizing: border-box;
	overflow-x: auto;
	width: 100%;
}

.list-table-scroll > table {
	margin: 0;
	min-width: 760px;
}

.list-table-scroll > table th {
	background: #eef3f7;
	color: #344454;
	white-space: nowrap;
}

.list-table-scroll > table th a {
	align-items: center;
	color: inherit;
	display: inline-flex;
	font-weight: inherit;
	gap: 4px;
	text-decoration: none;
}

.list-table-scroll > table th a::after {
	content: "\2195";
	font-size: 10px;
	opacity: .55;
}

.list-table-scroll > table th a.asc::after {
	content: "\2191";
	opacity: 1;
}

.list-table-scroll > table th a.desc::after {
	content: "\2193";
	opacity: 1;
}

.list-table-scroll > table th a:hover,
.list-table-scroll > table th a:focus {
	color: #1769aa;
	text-decoration: underline;
}

.catalog-platform-visibility {
	text-align: center;
}

.catalog-platform-status {
	border: 1px solid #c8d5de;
	border-radius: 999px;
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	min-width: 42px;
	padding: 4px 9px;
	text-align: center;
	text-transform: uppercase;
}

.catalog-platform-status.is-visible {
	background: #e1f5ef;
	border-color: #9dd7c7;
	color: #176b59;
}

.catalog-platform-status.is-hidden {
	background: #f1f4f6;
	color: #65737e;
}

@media (min-width: 992px) {
	.department-list-scroll {
		overflow-x: visible;
	}

	.department-list-table {
		min-width: 0 !important;
		table-layout: fixed;
		width: 100%;
	}

	.department-list-table > thead > tr > th,
	.department-list-table > tbody > tr > td {
		font-size: 10px;
		line-height: 1.3;
		overflow-wrap: anywhere;
		padding: 7px 4px;
		white-space: normal;
	}

	.department-list-table .catalog-platform-status {
		font-size: 10px;
		min-width: 36px;
		padding: 3px 6px;
	}

	.department-list-table th:nth-child(1) { width: 4%; }
	.department-list-table th:nth-child(2) { width: 17%; }
	.department-list-table th:nth-child(3) { width: 9%; }
	.department-list-table th:nth-child(4) { width: 4%; }
	.department-list-table th:nth-child(5),
	.department-list-table th:nth-child(6),
	.department-list-table th:nth-child(8),
	.department-list-table th:nth-child(9),
	.department-list-table th:nth-child(10),
	.department-list-table th:nth-child(11) { width: 6%; }
	.department-list-table th:nth-child(7) { width: 5%; }
	.department-list-table th:nth-child(12),
	.department-list-table th:nth-child(13) { width: 7%; }
	.department-list-table th:nth-child(14) { width: 6%; }
	.department-list-table th:nth-child(15) { width: 5%; }
}

.list-row-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 12px;
	min-width: 230px;
}

.list-action-disabled {
	color: #77838d;
	cursor: not-allowed;
	text-decoration: line-through;
}

.dashboard-page .pagination-divider {
	color: #666;
	display: inline-block;
	padding: 0 4px;
}

.product-editor-form {
	margin: 0 0 24px;
}

.product-editor-layout {
	align-items: flex-start;
	display: flex;
	gap: 24px;
	width: 100%;
}

.product-editor-sidebar {
	background: #fff;
	border: 1px solid #c7d2df;
	border-radius: 7px;
	box-shadow: 0 2px 8px rgb(32 67 101 / 10%);
	box-sizing: border-box;
	float: none;
	max-height: calc(100vh - 150px);
	overflow: hidden;
	position: sticky;
	top: 12px;
	width: 25%;
}

.product-sidebar-heading {
	align-items: center;
	background: #edf4fa;
	border-bottom: 1px solid #c7d2df;
	display: flex;
	justify-content: space-between;
	padding: 13px 14px;
}

.product-sidebar-heading strong {
	color: #274f7d;
	font-size: 17px;
}

.product-sidebar-heading span {
	color: #687786;
	font-size: 12px;
}

.product-sidebar-list {
	max-height: calc(100vh - 205px);
	overflow-y: auto;
	padding: 5px 0;
}

.product-editor-sidebar .product-sidebar-list a {
	background: #f7f9fb;
	border: 1px solid #dbe2e9;
	border-left: 4px solid transparent;
	border-radius: 4px;
	box-sizing: border-box;
	color: #4c5b69;
	display: -webkit-box;
	font-weight: 600;
	line-height: 20px;
	margin: 7px 10px;
	max-height: 64px;
	min-height: 44px;
	overflow: hidden;
	padding: 11px 12px;
	text-align: left;
	text-overflow: ellipsis;
	white-space: normal;
	width: calc(100% - 20px);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.product-editor-sidebar .product-sidebar-list a:hover {
	background: #eef5fb;
	border-color: #9dbbd7;
	text-decoration: none;
}

.product-editor-sidebar .product-sidebar-list a.selbutton {
	background: #e5f2ff;
	border-color: #6ca7d8;
	border-left-color: #2878b8;
	box-shadow: 0 1px 5px rgb(40 120 184 / 20%);
	color: #1769aa;
}

.product-editor-main {
	background: #fff;
	border: 1px solid #c7d2df;
	border-radius: 7px;
	box-shadow: 0 2px 8px rgb(32 67 101 / 10%);
	box-sizing: border-box;
	min-width: 0;
	overflow: hidden;
	width: 100%;
}

.product-editor-layout.has-product-list .product-editor-main {
	width: calc(75% - 24px);
}

.product-tabs {
	background: #fff;
	border: 0 !important;
	border-radius: 0;
	box-sizing: border-box;
	float: none !important;
	padding: 0 !important;
	width: 100% !important;
}

.product-tabs > .ui-tabs-nav {
	background: #e9eff5;
	border: 0;
	border-bottom: 1px solid #bdc9d5;
	border-radius: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	height: auto;
	padding: 10px 10px 0;
}

.product-tabs > .ui-tabs-nav > li {
	background: #f7f9fb;
	border: 1px solid #c9d3dd !important;
	border-bottom: 0 !important;
	border-radius: 5px 5px 0 0;
	float: none;
	margin: 0;
}

.product-tabs > .ui-tabs-nav > li.ui-tabs-active,
.product-tabs > .ui-tabs-nav > li.ui-state-active {
	background: #fff;
	border-top: 3px solid #2878b8 !important;
	margin-bottom: -1px;
}

.product-tabs > .ui-tabs-nav > li > a {
	color: #3f4e5b;
	font-size: 13px;
	font-weight: 700;
	padding: 10px 12px;
	white-space: nowrap;
}

.product-tabs > .ui-tabs-nav > li.ui-tabs-active > a,
.product-tabs > .ui-tabs-nav > li.ui-state-active > a {
	color: #1e5f96;
}

.product-tabs > .ui-tabs-panel {
	background: #fff;
	box-sizing: border-box;
	min-height: 420px;
	overflow: visible;
	padding: 22px;
	margin-top: 1%;
}

.company-tabs > .ui-tabs-panel {
	min-height: 300px;
}

.company-tabs .product-choice-panel {
	background: #fff;
	border: 0;
	padding: 0;
}

.company-tabs .product-choice-panel > .input.select {
	grid-column: 1 / -1;
}

.settings-tabs > .ui-tabs-panel {
	min-height: 300px;
}

.settings-tabs .product-choice-panel {
	background: #fff;
	border: 0;
	padding: 0;
}

.settings-tabs .product-choice-panel > .input.select {
	grid-column: 1 / -1;
}

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

.role-manager {
	align-items: start;
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
	width: 100%;
}

.role-group-panel,
.role-permission-panel {
	background: #fff;
	border: 1px solid #cfd9e2;
	border-radius: 6px;
	box-sizing: border-box;
	min-width: 0;
}

.role-group-panel {
	padding: 18px;
}

.role-group-panel h2,
.role-permission-header h2 {
	color: #274f7d;
	font-size: 20px;
	margin: 0;
}

.role-group-panel > p {
	color: #667482;
	font-size: 13px;
	line-height: 1.45;
	margin: 7px 0 16px;
}

.role-group-list {
	display: grid;
	gap: 7px;
}

.role-group-link {
	background: #f5f8fa;
	border: 1px solid #d4dee7;
	border-radius: 4px;
	box-sizing: border-box;
	color: #344454;
	font-weight: 600;
	padding: 10px 12px;
	text-decoration: none;
	width: 100%;
}

.role-group-link:hover,
.role-group-link:focus {
	background: #eef6fc;
	border-color: #7faed3;
}

.role-group-link.is-selected {
	background: #2878b8;
	border-color: #1f659c;
	color: #fff;
}

.role-delete-button {
	box-sizing: border-box;
	display: block;
	margin: 18px 0 0;
	text-align: center;
	width: 100%;
}

.role-permission-panel {
	overflow: hidden;
}

.role-permission-header {
	align-items: center;
	background: #f7f9fb;
	border-bottom: 1px solid #d6e0e8;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 18px 20px;
}

.role-permission-eyebrow {
	color: #657482;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	margin: 0 0 3px;
	text-transform: uppercase;
}

.role-fixed-badge {
	background: #e7eef5;
	border-radius: 999px;
	color: #40566a;
	font-size: 12px;
	font-weight: 700;
	padding: 7px 11px;
}

.role-permission-toolbar {
	align-items: end;
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(150px, auto) minmax(220px, 340px);
	justify-content: space-between;
	padding: 18px 20px 10px;
}

.role-select-all {
	align-items: center;
	background: #eef6fc;
	border: 1px solid #b9d2e6;
	border-radius: 4px;
	display: inline-flex;
	font-weight: 700;
	gap: 8px;
	min-height: 38px;
	padding: 0 12px;
}

.role-select-all input,
.role-permission-option input {
	accent-color: #2878b8;
	margin: 0;
}

.role-permission-filter span {
	color: #40505f;
	display: block;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 5px;
}

.role-permission-filter input {
	border: 1px solid #aebdca;
	border-radius: 4px;
	box-sizing: border-box;
	height: 38px;
	padding: 7px 10px;
	width: 100%;
}

.role-permission-fieldset {
	border: 0;
	margin: 0;
	padding: 10px 20px 20px;
}

.role-permission-groups {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.role-permission-group {
	border: 1px solid #d4dee7;
	border-radius: 5px;
	min-width: 0;
	overflow: hidden;
}

.role-permission-group > summary {
	align-items: center;
	background: #f4f7f9;
	color: #304f6d;
	cursor: pointer;
	display: flex;
	font-weight: 700;
	justify-content: space-between;
	list-style-position: inside;
	padding: 11px 12px;
}

.role-permission-group[open] > summary {
	background: #eaf3fa;
	border-bottom: 1px solid #d4dee7;
}

.role-permission-count {
	background: #dce8f2;
	border-radius: 999px;
	color: #3d5d77;
	font-size: 11px;
	min-width: 24px;
	padding: 3px 7px;
	text-align: center;
}

.role-permission-options {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 11px;
}

.role-permission-option {
	align-items: center;
	background: #fff;
	border: 1px solid #d9e1e8;
	border-radius: 4px;
	display: flex;
	font-size: 12px;
	gap: 7px;
	min-width: 0;
	padding: 8px 9px;
}

.role-permission-option:has(input:checked) {
	background: #e9f4fc;
	border-color: #78acd2;
	color: #1769aa;
	font-weight: 700;
}

.role-form-actions {
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

.list-empty-state {
	color: #667482;
	padding: 40px 24px;
	text-align: center;
}

.customer-editor-layout {
	display: block;
	width: 100%;
}

.customer-editor-layout.has-customer-list {
	align-items: start;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
}

.customer-editor-sidebar {
	background: #f4f7f9;
	border: 1px solid #cfd9e2;
	border-radius: 5px;
	box-sizing: border-box;
	max-height: 620px;
	overflow: hidden;
	padding: 14px;
	position: sticky;
	top: 12px;
}

.customer-editor-sidebar h2 {
	color: #274f7d;
	font-size: 17px;
	margin: 0 0 11px;
}

.customer-sidebar-list {
	display: grid;
	gap: 5px;
	max-height: 550px;
	overflow-y: auto;
}

.customer-sidebar-list .button,
.customer-sidebar-list .selbutton {
	box-sizing: border-box;
	display: block;
	float: none;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}

.customer-editor-main {
	min-width: 0;
}

.customer-tabs fieldset {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.customer-tabs .input.textarea {
	grid-column: 1 / -1;
}

.customer-tabs textarea.customer-notes-field {
	height: 120px;
	resize: vertical;
}

.customer-classification-field {
	display: grid;
	gap: 6px;
}

.customer-classification-field > .input {
	margin: 0;
}

.customer-classification-field > small {
	color: #667482;
	font-size: 12px;
	line-height: 1.4;
}

.finite-choice-field {
	border: 0;
	display: block !important;
	grid-column: 1 / -1;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.finite-choice-field > legend {
	color: #344454;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 7px;
	padding: 0;
}

.finite-choice-options {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.finite-choice-options--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.finite-choice-options--many {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

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

.finite-choice-card {
	align-items: flex-start;
	background: #fff;
	border: 1px solid #c8d4de;
	border-radius: 6px;
	box-sizing: border-box;
	cursor: pointer;
	display: grid;
	gap: 10px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	margin: 0;
	min-height: 68px;
	padding: 12px 13px;
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.finite-choice-card:hover {
	background: #f7fbfe;
	border-color: #82aac9;
}

.finite-choice-indicator {
	background: #fff;
	border: 2px solid #9babb8;
	border-radius: 50%;
	box-sizing: border-box;
	height: 18px;
	margin-top: 1px;
	width: 18px;
}

.finite-choice-copy {
	display: grid;
	gap: 4px;
}

.finite-choice-copy strong {
	color: #2e4559;
	font-size: 13px;
}

.finite-choice-copy small {
	color: #697887;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.35;
}

.finite-choice-selected {
	color: #2878b8;
	font-size: 16px;
	font-weight: 700;
	opacity: 0;
}

.finite-choice-input:focus + .finite-choice-card {
	border-color: #2878b8;
	box-shadow: 0 0 0 3px rgb(40 120 184 / 18%);
	outline: 0;
}

.finite-choice-input:checked + .finite-choice-card {
	background: #eef7fd;
	border-color: #2878b8;
	box-shadow: inset 0 0 0 1px #2878b8;
}

.finite-choice-input:checked + .finite-choice-card .finite-choice-indicator {
	background: #2878b8;
	border: 5px solid #fff;
	box-shadow: 0 0 0 2px #2878b8;
}

.finite-choice-input:checked + .finite-choice-card .finite-choice-selected {
	opacity: 1;
}

.customer-created-meta {
	align-self: end;
	background: #f4f7f9;
	border: 1px solid #d6e0e8;
	border-radius: 4px;
	box-sizing: border-box;
	display: grid;
	gap: 3px;
	min-height: 66px;
	padding: 10px 12px;
}

.customer-created-meta span {
	color: #607080;
	font-size: 12px;
	font-weight: 700;
}

.customer-created-meta strong {
	color: #293d50;
	font-size: 15px;
}

.assignment-editor,
.customer-activity-page {
	margin: 0 auto;
	max-width: 1120px;
	width: 100%;
}

.assignment-editor-header,
.customer-activity-header,
.password-editor-header {
	background: #f7f9fb;
	border: 1px solid #cfd9e2;
	border-bottom: 0;
	border-radius: 6px 6px 0 0;
	padding: 16px 20px;
}

.assignment-editor-header p,
.customer-activity-header p,
.password-editor-header p {
	color: #667482;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	margin: 0 0 3px;
	text-transform: uppercase;
}

.assignment-editor-header h2,
.customer-activity-header h2,
.password-editor-header h2 {
	color: #274f7d;
	font-size: 21px;
	margin: 0;
}

.customer-activity-header span,
.password-editor-header span {
	color: #667482;
	display: block;
	font-size: 13px;
	margin-top: 5px;
}

.assignment-tabs .product-choice-panel > .input.select {
	grid-column: 1 / -1;
}

.password-editor {
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 3px 14px rgb(39 79 125 / 10%);
	margin: 20px auto;
	max-width: 620px;
	overflow: hidden;
	width: 100%;
}

.password-editor-form > fieldset {
	border: 0;
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 22px;
}

.password-editor-form .input {
	margin: 0;
}

.password-editor-form .input label {
	color: #344454;
	display: block;
	font-weight: 700;
	margin-bottom: 6px;
}

.password-editor-form input[type="password"] {
	border: 1px solid #aebdca;
	border-radius: 4px;
	box-sizing: border-box;
	height: 40px;
	padding: 8px 10px;
	width: 100%;
}

.password-editor-form input[type="password"]:focus {
	border-color: #2878b8;
	box-shadow: 0 0 0 2px rgb(40 120 184 / 15%);
	outline: 0;
}

.customer-activity-range {
	align-items: end;
	display: grid;
	gap: 14px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
}

.customer-activity-range .input {
	margin: 0;
}

.customer-activity-retrieve {
	height: 38px;
	margin: 0;
}

.customer-activity-stats {
	display: grid;
	gap: 12px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.customer-activity-stat {
	background: #f7f9fb;
	border: 1px solid #d6e0e8;
	border-left: 4px solid #7895ad;
	border-radius: 4px;
	box-sizing: border-box;
	display: grid;
	gap: 6px;
	min-height: 88px;
	padding: 13px 14px;
}

.customer-activity-stat span {
	color: #667482;
	font-size: 12px;
	font-weight: 700;
}

.customer-activity-stat strong {
	color: #2d4357;
	font-size: 23px;
}

.customer-activity-stat.activity-stat-positive {
	border-left-color: #2f8a57;
}

.customer-activity-stat.activity-stat-negative {
	border-left-color: #c25b52;
}

.customer-activity-table {
	min-width: 820px !important;
}

.customer-reference-page,
.customer-lookup-editor,
.customer-import-page,
.customer-receipt-page {
	margin: 0 auto 24px;
	max-width: 1120px;
	width: 100%;
}

.customer-lookup-editor,
.customer-import-page {
	max-width: 780px;
}

.customer-reference-header,
.customer-receipt-header {
	align-items: center;
	background: #f7f9fb;
	border: 1px solid #cfd9e2;
	border-radius: 6px;
	box-sizing: border-box;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-bottom: 14px;
	padding: 16px 20px;
}

.customer-reference-header p,
.customer-receipt-header p {
	color: #667482;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	margin: 0 0 3px;
	text-transform: uppercase;
}

.customer-reference-header h2,
.customer-receipt-header h2 {
	color: #274f7d;
	font-size: 21px;
	margin: 0;
}

.customer-reference-header span,
.customer-receipt-header > div > span {
	color: #667482;
	display: block;
	font-size: 13px;
	margin-top: 5px;
}

.customer-reference-header .btn {
	flex: 0 0 auto;
}

.customer-reference-table {
	min-width: 620px !important;
}

.customer-level-table {
	min-width: 820px !important;
}

.customer-reference-actions-heading,
.customer-reference-actions {
	text-align: right;
	width: 110px;
}

.customer-reference-actions form {
	display: inline-block;
	margin: 0;
}

.customer-inline-value {
	border-bottom: 1px dashed #7f96aa;
	border-radius: 3px;
	color: #27507e;
	cursor: pointer;
	display: inline-block;
	font-weight: 700;
	min-width: 90px;
	padding: 6px 24px 6px 8px;
	position: relative;
}

.customer-inline-value::after {
	color: #6f8497;
	content: '\270E';
	font-size: 12px;
	position: absolute;
	right: 7px;
	top: 7px;
}

.customer-inline-value:hover {
	background: #edf5fb;
	border-bottom-color: #2878b8;
}

.customer-inline-value form {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
}

.customer-inline-value form input,
.customer-inline-value form select {
	box-sizing: border-box;
	height: 34px;
	margin: 0;
	min-width: 130px;
}

.customer-inline-value form button,
.customer-inline-value form input[type="button"],
.customer-inline-value form input[type="submit"] {
	height: 32px;
	margin: 0;
	min-width: 0;
	padding: 4px 9px;
	width: auto;
}

.customer-inline-choice,
.customer-inline-number {
	min-width: 72px;
}

.customer-lookup-form,
.customer-import-form {
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 3px 14px rgb(39 79 125 / 10%);
	overflow: hidden;
}

.customer-lookup-tabs,
.customer-import-tabs {
	margin: 0;
}

.customer-lookup-tabs > .ui-tabs-panel,
.customer-import-tabs > .ui-tabs-panel {
	min-height: 160px;
}

.customer-lookup-tabs fieldset {
	align-items: stretch;
	grid-template-columns: minmax(0, 1.1fr) minmax(240px, .9fr);
}

.customer-lookup-help,
.customer-import-warning {
	background: #f4f7f9;
	border: 1px solid #d4dee7;
	border-left: 4px solid #6f94b3;
	border-radius: 4px;
	box-sizing: border-box;
	display: grid;
	gap: 5px;
	padding: 12px 14px;
}

.customer-lookup-help strong,
.customer-import-warning strong {
	color: #344f67;
	font-size: 13px;
}

.customer-lookup-help span,
.customer-import-warning span {
	color: #667482;
	font-size: 12px;
	line-height: 1.5;
}

.customer-import-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1.3fr) minmax(230px, .7fr);
}

.customer-import-dropzone {
	background: #f8fbfd;
	border: 2px dashed #9db2c3;
	border-radius: 6px;
	box-sizing: border-box;
	cursor: pointer;
	display: grid;
	gap: 6px;
	min-height: 150px;
	padding: 24px;
	place-content: center;
	text-align: center;
}

.customer-import-dropzone:hover {
	background: #eef6fb;
	border-color: #2878b8;
}

.customer-import-dropzone > strong {
	color: #274f7d;
	font-size: 17px;
}

.customer-import-dropzone > span {
	color: #667482;
	font-size: 12px;
}

.customer-import-dropzone .input.file {
	margin: 12px 0 0;
}

.customer-import-dropzone input[type="file"] {
	box-sizing: border-box;
	font-size: 12px;
	max-width: 100%;
}

.customer-import-warning {
	align-content: center;
	border-left-color: #c58a32;
}

.catalog-import-header-actions {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.catalog-import-header-actions .btn {
	margin: 0;
}

.customer-receipt-page {
	background: #fff;
	border: 1px solid #d2dce5;
	border-radius: 7px;
	box-shadow: 0 4px 18px rgb(39 79 125 / 10%);
	box-sizing: border-box;
	overflow: hidden;
}

.customer-receipt-header {
	border: 0;
	border-bottom: 1px solid #d2dce5;
	border-radius: 0;
	margin: 0;
	padding: 20px 24px;
}

.customer-receipt-status {
	background: #e6edf3;
	border: 1px solid #b9c8d4;
	border-radius: 999px;
	color: #4c6275;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	padding: 7px 12px;
	text-transform: uppercase;
}

.customer-receipt-status.status-completed {
	background: #e7f5ec;
	border-color: #9cc9ac;
	color: #287549;
}

.customer-receipt-status.status-voided {
	background: #fbeceb;
	border-color: #ddb2ae;
	color: #a1453e;
}

.customer-receipt-status.status-stored {
	background: #fff5dd;
	border-color: #e4c783;
	color: #876516;
}

.customer-receipt-details {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 14px 24px 4px;
}

.customer-receipt-details > div {
	border-bottom: 1px solid #e1e7ec;
	display: grid;
	gap: 3px;
	min-width: 0;
	padding: 11px 12px;
}

.customer-receipt-details span {
	color: #6b7a87;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.customer-receipt-details strong {
	color: #2e4355;
	font-size: 14px;
	overflow-wrap: anywhere;
}

.customer-receipt-section {
	padding: 18px 24px 0;
}

.customer-receipt-section h3 {
	color: #274f7d;
	font-size: 16px;
	margin: 0 0 10px;
}

.customer-receipt-items {
	min-width: 680px !important;
}

.customer-receipt-items .receipt-number,
.customer-receipt-items th:nth-child(2),
.customer-receipt-items th:nth-child(3),
.customer-receipt-items th:nth-child(4) {
	text-align: right;
}

.customer-receipt-financials {
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(0, 1fr) minmax(260px, .7fr);
	padding-bottom: 20px;
}

.customer-receipt-section dl {
	background: #f8fafb;
	border: 1px solid #d7e0e8;
	border-radius: 5px;
	margin: 0;
	padding: 8px 14px;
}

.customer-receipt-section dl > div {
	align-items: baseline;
	border-bottom: 1px solid #e0e7ec;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	padding: 9px 0;
}

.customer-receipt-section dl > div:last-child {
	border-bottom: 0;
}

.customer-receipt-section dt {
	color: #516272;
	font-weight: 600;
}

.customer-receipt-section dd {
	color: #263d51;
	font-weight: 800;
	margin: 0;
	text-align: right;
}

.customer-receipt-actions {
	margin: 0;
}

.catalog-editor-layout {
	display: block;
	margin: 0 auto 24px;
	max-width: 1180px;
	width: 100%;
}

.catalog-editor-layout.has-catalog-list {
	align-items: start;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
}

.catalog-editor-sidebar {
	background: #f4f7f9;
	border: 1px solid #cfd9e2;
	border-radius: 5px;
	box-sizing: border-box;
	max-height: 620px;
	overflow: hidden;
	padding: 14px;
	position: sticky;
	top: 12px;
}

.catalog-editor-sidebar h2 {
	color: #274f7d;
	font-size: 17px;
	margin: 0 0 11px;
}

.catalog-sidebar-list {
	display: grid;
	gap: 5px;
	max-height: 550px;
	overflow-y: auto;
}

.catalog-sidebar-list .button,
.catalog-sidebar-list .selbutton {
	background: #f7f9fb;
	border: 1px solid #dbe2e9;
	border-left: 4px solid transparent;
	border-radius: 4px;
	box-sizing: border-box;
	color: #4c5b69;
	display: -webkit-box;
	float: none;
	font-weight: 600;
	height: auto;
	line-height: 20px;
	margin: 0;
	max-height: 64px;
	min-height: 44px;
	overflow: hidden;
	padding: 11px 12px;
	text-align: left;
	text-overflow: ellipsis;
	white-space: normal;
	width: 100%;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.catalog-sidebar-list .button:hover,
.catalog-sidebar-list .selbutton:hover {
	background: #eef5fb;
	border-color: #9dbbd7;
	text-decoration: none;
}

.catalog-sidebar-list .selbutton {
	background: #e5f2ff;
	border-color: #6ca7d8;
	border-left-color: #2878b8;
	box-shadow: 0 1px 5px rgb(40 120 184 / 20%);
	color: #1769aa;
}

.catalog-editor-main {
	min-width: 0;
}

.catalog-editor-header {
	background: #f7f9fb;
	border: 1px solid #cfd9e2;
	border-bottom: 0;
	border-radius: 6px 6px 0 0;
	padding: 16px 20px;
}

.catalog-editor-header p {
	color: #667482;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	margin: 0 0 3px;
	text-transform: uppercase;
}

.catalog-editor-header h2 {
	color: #274f7d;
	font-size: 21px;
	margin: 0;
}

.catalog-editor-header span {
	color: #667482;
	display: block;
	font-size: 13px;
	margin-top: 5px;
}

.catalog-editor-form {
	background: #fff;
	border-radius: 0 0 6px 6px;
	box-shadow: 0 3px 14px rgb(39 79 125 / 10%);
	overflow: hidden;
}

.catalog-tabs {
	margin: 0;
}

.catalog-tabs > .ui-tabs-panel {
	min-height: 300px;
}

.catalog-setting-grid {
	display: grid;
	gap: 10px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-group-tabs .catalog-navigation-options {
	align-self: stretch;
	border: 1px solid #d3dde6;
	border-radius: 6px;
	padding: 16px;
}

.catalog-button-color-control,
.catalog-font-size-control {
	grid-column: 1 / -1;
}

.catalog-button-color-options {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(6, minmax(90px, 1fr));
}

.catalog-button-color-options > input[type="radio"] {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.catalog-color-choice {
	align-items: flex-end;
	background-image: url(../img/departBtn1.png);
	background-position: center;
	background-size: cover;
	border: 2px solid transparent;
	border-radius: 7px;
	box-shadow: 0 2px 5px rgb(30 58 83 / 20%);
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	height: 86px;
	justify-content: center;
	margin: 0;
	overflow: hidden;
	padding: 0;
}

.catalog-color-choice span {
	background: rgb(255 255 255 / 88%);
	box-sizing: border-box;
	color: #263645;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 4px;
	text-align: center;
	width: 100%;
}

.catalog-color-choice:hover {
	border-color: #79a9d0;
	box-shadow: 0 3px 10px rgb(39 80 126 / 35%);
}

.catalog-button-color-options > input[type="radio"]:focus + .catalog-color-choice {
	outline: 3px solid rgb(40 120 184 / 30%);
	outline-offset: 2px;
}

.catalog-button-color-options > input[type="radio"]:checked + .catalog-color-choice {
	border-color: #fff;
	box-shadow: 0 0 0 3px #2878b8, 0 4px 12px rgb(39 80 126 / 40%);
}

.catalog-color-choice-1 { background-image: url(../img/departBtn2.png); }
.catalog-color-choice-2 { background-image: url(../img/departBtn3.png); }
.catalog-color-choice-3 { background-image: url(../img/departBtn4.png); }
.catalog-color-choice-4 { background-image: url(../img/departBtn5.png); }
.catalog-color-choice-5 { background-image: url(../img/departBtn6.png); }
.catalog-color-choice-6 { background-image: url(../img/departBtn7.png); }
.catalog-color-choice-7 { background-image: url(../img/departBtn8.png); }
.catalog-color-choice-8 { background-image: url(../img/departBtn9.png); }
.catalog-color-choice-9 { background-image: url(../img/departBtn10.png); }
.catalog-color-choice-10 { background-image: url(../img/departBtn11.png); }
.catalog-color-choice-11 { background-image: url(../img/departBtn12.png); }

.catalog-form-actions {
	margin: 0;
}

.condiment-choice-help {
	grid-column: 1 / -1;
}

.condiment-group-settings,
.condiment-settings {
	grid-template-columns: minmax(240px, 420px);
}

.condiment-group-switcher {
	align-items: center;
	background: #f7f9fb;
	border: 1px solid #cfd9e2;
	border-radius: 6px;
	box-sizing: border-box;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin: 0 auto 18px;
	max-width: 1180px;
	padding: 14px 16px;
	width: 100%;
}

.condiment-group-switcher header {
	flex: 0 0 190px;
}

.condiment-group-switcher header p {
	color: #274f7d;
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 3px;
}

.condiment-group-switcher header span {
	color: #667482;
	font-size: 12px;
}

.condiment-group-switcher nav {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
	max-height: 124px;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 3px 4px 3px 0;
	scrollbar-gutter: stable;
}

.condiment-group-chip {
	background: #fff;
	border: 1px solid #bfcbd5;
	border-radius: 999px;
	color: #3d566d;
	font-size: 12px;
	font-weight: 700;
	padding: 7px 12px;
	text-decoration: none;
}

.condiment-group-chip:hover {
	background: #eef6fc;
	border-color: #7faed3;
	text-decoration: none;
}

.condiment-group-chip.is-active {
	background: #27507e;
	border-color: #27507e;
	color: #fff;
}

.catalog-empty-card {
	background: #f8fafb;
	border: 1px solid #d2dce5;
	border-radius: 6px;
	box-sizing: border-box;
	margin: 0 auto 24px;
	max-width: 760px;
	padding: 36px 28px;
	text-align: center;
}

.catalog-empty-card h2 {
	color: #274f7d;
	font-size: 21px;
	margin: 0 0 8px;
}

.catalog-empty-card p {
	color: #667482;
	margin: 0 0 18px;
}

.condiment-color-choice {
	background-image: url(../img/condiment_01.png);
}

.condiment-color-choice-1 { background-image: url(../img/condiment_02.png); }
.condiment-color-choice-2 { background-image: url(../img/condiment_03.png); }
.condiment-color-choice-3 { background-image: url(../img/condiment_04.png); }
.condiment-color-choice-4 { background-image: url(../img/condiment_05.png); }
.condiment-color-choice-5 { background-image: url(../img/condiment_06.png); }
.condiment-color-choice-6 { background-image: url(../img/condiment_07.png); }
.condiment-color-choice-7 { background-image: url(../img/condiment_08.png); }
.condiment-color-choice-8 { background-image: url(../img/condiment_09.png); }
.condiment-color-choice-9 { background-image: url(../img/condiment_10.png); }
.condiment-color-choice-10 { background-image: url(../img/condiment_11.png); }
.condiment-color-choice-11 { background-image: url(../img/condiment_12.png); }

.employee-editor {
	max-width: 900px;
}

.employee-option-cards {
	grid-column: 1 / -1;
}

.employee-option-cards .input.radio > .radio {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.employee-default-price-level .input.radio > .radio {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.employee-option-cards .input.radio > .radio label {
	align-items: center;
	background: #f7f9fb;
	border: 1px solid #cbd6df;
	border-radius: 5px;
	display: flex;
	font-weight: 700;
	gap: 8px;
	justify-content: center;
	margin: 0;
	min-height: 46px;
	padding: 8px 10px;
}

.employee-option-cards .input.radio > .radio label:has(input:checked) {
	background: #e5f2ff;
	border-color: #2878b8;
	box-shadow: 0 0 0 1px #2878b8;
	color: #1769aa;
}

.employee-option-cards input[type="radio"] {
	accent-color: #2878b8;
	margin: 0;
	position: static;
}

.employee-limit-grid {
	display: grid;
	gap: 12px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.employee-limit-row {
	background: #f7f9fb;
	border: 1px solid #d5dfe7;
	border-radius: 6px;
	display: grid;
	gap: 10px;
	padding: 12px;
}

.employee-limit-row > .input {
	margin: 0;
}

.employee-limit-help,
.employee-default-help {
	grid-column: 1 / -1;
}

@media (max-width: 720px) {
	.employee-limit-grid,
	.employee-default-price-level .input.radio > .radio {
		grid-template-columns: 1fr 1fr;
	}
}

.function-panel-page {
	margin: 0 auto 24px;
	max-width: 900px;
	width: 100%;
}

.function-panel-status {
	align-items: center;
	background: #fff;
	border: 1px solid #cfd9e2;
	box-shadow: 0 3px 14px rgb(39 79 125 / 10%);
	box-sizing: border-box;
	display: grid;
	gap: 16px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: 24px;
}

.function-panel-file-icon {
	align-items: center;
	background: #edf3f7;
	border: 1px solid #c8d5df;
	border-radius: 9px;
	color: #587087;
	display: flex;
	font-size: 18px;
	font-weight: 800;
	height: 58px;
	justify-content: center;
	letter-spacing: .04em;
	width: 58px;
}

.function-panel-status.has-file .function-panel-file-icon {
	background: #e5f4eb;
	border-color: #9dc9ad;
	color: #247246;
}

.function-panel-file-copy {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.function-panel-file-copy strong {
	color: #274f7d;
	font-size: 17px;
	overflow-wrap: anywhere;
}

.function-panel-file-copy span {
	color: #667482;
	font-size: 13px;
	line-height: 1.45;
}

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

.function-panel-actions,
.function-panel-actions form {
	margin: 0;
}

.function-panel-actions .btn {
	margin: 0;
	min-width: 150px;
}

.function-panel-master-note {
	border-radius: 0 0 6px 6px;
	border-top: 0;
}

.function-panel-import-page {
	max-width: 780px;
}

.asset-list-page {
	margin: 0 auto 24px;
	max-width: 1080px;
	width: 100%;
}

.asset-list-header {
	margin-bottom: 14px;
}

.asset-list-page > .asset-summary-strip {
	margin-top: -4px;
}

.asset-list-table {
	margin-bottom: 0;
	min-width: 720px;
}

.asset-list-table td {
	vertical-align: middle !important;
}

.asset-list-actions-heading,
.asset-list-actions {
	text-align: right;
	width: 110px;
}

.asset-list-actions form {
	display: inline-block;
	margin: 0;
}

.asset-list-actions .btn {
	margin: 0;
}

.addon-version-badge,
.asset-package-state,
.wifi-download-state {
	background: #edf3f7;
	border: 1px solid #cad6df;
	border-radius: 999px;
	color: #476177;
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	max-width: 260px;
	overflow: hidden;
	padding: 4px 9px;
	text-overflow: ellipsis;
	vertical-align: middle;
	white-space: nowrap;
}

.addon-version-badge {
	background: #e8f2fa;
	border-color: #b8d1e4;
	color: #275f8b;
}

.asset-package-state.is-missing {
	background: #fff3df;
	border-color: #e4c28e;
	color: #875d20;
}

.wifi-download-state.is-downloaded {
	background: #e6f4eb;
	border-color: #add0b9;
	color: #277247;
}

.asset-file-link {
	font-weight: 700;
}

.addon-editor {
	max-width: 820px;
}

.addon-package-upload,
.addon-release-help {
	grid-column: 1 / -1;
}

.asset-optional-upload {
	background: #f7f9fb;
	border: 1px solid #d1dce4;
	border-radius: 6px;
	grid-column: 1 / -1;
	overflow: hidden;
}

.asset-optional-upload > summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	list-style: none;
	padding: 13px 15px;
}

.asset-optional-upload > summary::-webkit-details-marker {
	display: none;
}

.asset-optional-upload > summary::after {
	color: #2878b8;
	content: '+';
	font-size: 22px;
	font-weight: 700;
}

.asset-optional-upload[open] > summary::after {
	content: '\2212';
}

.asset-optional-upload > summary > span {
	display: grid;
	gap: 3px;
}

.asset-optional-upload > summary strong {
	color: #294e70;
	font-size: 14px;
}

.asset-optional-upload > summary small {
	color: #687886;
	font-size: 12px;
	font-weight: 400;
}

.asset-optional-upload[open] > summary {
	border-bottom: 1px solid #d1dce4;
}

.asset-optional-upload .addon-package-upload {
	border: 0;
	border-radius: 0;
	margin: 0;
}

.addon-package-upload {
	min-height: 165px;
}

.wifi-secret-control {
	align-items: center;
	display: flex;
	gap: 7px;
	min-width: 260px;
}

.wifi-password-value {
	background: #f3f6f8;
	border: 1px solid #d6e0e7;
	border-radius: 4px;
	color: #233d54;
	display: block;
	font-family: Consolas, Monaco, monospace;
	font-size: 13px;
	height: 34px;
	max-width: 520px;
	min-width: 0;
	padding: 6px 9px;
	width: 100%;
}

.wifi-secret-control .btn {
	flex: 0 0 auto;
	margin: 0;
}

.product-tabs fieldset {
	border: 0;
	box-sizing: border-box;
	display: grid;
	gap: 17px 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	min-width: 0;
	padding: 1%;
	width: 100%;
}

.product-tabs fieldset > legend,
.product-tabs fieldset > p,
.product-tabs fieldset > ul {
	grid-column: 1 / -1;
}

.product-tabs fieldset > legend {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #dbe2e9;
	box-sizing: border-box;
	color: #274f7d;
	font-size: 21px;
	line-height: 28px;
	margin: 0 0 2px;
	padding: 0 0 10px;
	width: 100% !important;
}

.product-tabs fieldset .input {
	margin: 0;
	min-width: 0;
}

.product-tabs fieldset .input > label:first-child {
	color: #344454;
	display: block;
	font-weight: 600;
	margin: 0 0 6px;
}

.product-tabs fieldset input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.product-tabs fieldset select,
.product-tabs fieldset textarea {
	border: 1px solid #aebdca;
	border-radius: 4px;
	box-sizing: border-box;
	height: 38px;
	max-width: none;
	padding: 7px 9px;
	width: 100%;
}

.product-tabs fieldset input:focus,
.product-tabs fieldset select:focus,
.product-tabs fieldset textarea:focus {
	border-color: #2878b8;
	box-shadow: 0 0 0 2px rgb(40 120 184 / 15%);
	outline: 0;
}

.product-tabs fieldset select[multiple] {
	height: auto;
	min-height: 260px;
}

#product-condiments fieldset > .input.select,
#product-link-groups fieldset > .input.select,
#product-variations fieldset > .input.select,
#product-appearance fieldset > .input.radio {
	grid-column: 1 / -1;
}

.product-choice-panel {
	background: #f7f9fb;
	border: 1px solid #d3dde6;
	border-radius: 6px;
	box-sizing: border-box;
	grid-column: 1 / -1;
	padding: 16px;
}

.product-choice-help {
	color: #667482;
	font-size: 13px;
	margin: 0 0 12px;
}

.product-variation-picker {
	align-items: end;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) auto;
}

.product-variation-picker .input {
	margin: 0;
}

.product-variation-picker .btn {
	height: 38px;
	margin: 0;
	min-width: 120px;
}

.product-variation-list-card {
	background: #fff;
	border: 1px solid #cbd6df;
	border-radius: 5px;
	margin-top: 16px;
	padding: 14px;
}

.product-variation-list-heading {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-bottom: 8px;
}

.product-variation-list-heading label {
	color: #274f7d;
	font-size: 16px;
	font-weight: 700;
	margin: 0;
}

.product-variation-list-heading span {
	background: #edf2f6;
	border-radius: 999px;
	color: #526879;
	font-size: 12px;
	font-weight: 700;
	padding: 5px 9px;
}

.product-tabs fieldset .product-variation-list-card select[multiple] {
	min-height: 210px;
}

.product-variation-list-card select option {
	padding: 7px 9px;
}

.product-variation-empty {
	background: #f7f9fb;
	border: 1px dashed #bdcad5;
	border-radius: 4px;
	color: #667482;
	margin: 8px 0 0;
	padding: 12px;
	text-align: center;
}

.product-variation-empty[hidden] {
	display: none;
}

.product-variation-list-actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	margin-top: 10px;
}

.product-variation-list-actions .btn {
	margin: 0;
}

.choice-panel-toolbar {
	align-items: end;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(135px, auto) minmax(190px, 1fr) auto;
	margin: 0 0 13px;
}

.choice-panel-toolbar .role-select-all {
	box-sizing: border-box;
	justify-content: center;
	margin: 0;
}

.choice-panel-toolbar .role-permission-filter {
	margin: 0;
}

.choice-panel-count {
	background: #edf2f6;
	border-radius: 999px;
	color: #526879;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 7px;
	padding: 5px 9px;
	white-space: nowrap;
}

.choice-panel-filter-empty {
	background: #fff;
	border: 1px dashed #bdcad5;
	border-radius: 5px;
	color: #667482;
	margin: 0;
	padding: 14px;
	text-align: center;
}

.choice-panel-filter-empty[hidden],
.product-choice-panel .checkbox label[hidden] {
	display: none;
}

[data-assignment-editor] .checkbox[hidden],
[data-choice-editor] .checkbox[hidden],
[data-assignment-editor] [data-assignment-option][hidden],
[data-choice-editor] [data-assignment-option][hidden] {
	display: none !important;
}

.user-editor-tabs .product-choice-panel > .input.select,
.assignment-tabs .product-choice-panel > .input.select,
.company-tabs .product-choice-panel > .input.select,
.terminal-group-tabs .product-choice-panel > .input.select,
.product-editor-form .product-condiment-options > .input.select,
.product-editor-form .product-group-options > .input.select,
.product-group-tabs .catalog-navigation-options > .input.select {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.user-editor-tabs .product-choice-panel > .input.select > input[type="hidden"],
.assignment-tabs .product-choice-panel > .input.select > input[type="hidden"],
.company-tabs .product-choice-panel > .input.select > input[type="hidden"],
.terminal-group-tabs .product-choice-panel > .input.select > input[type="hidden"],
.product-editor-form .product-condiment-options > .input.select > input[type="hidden"],
.product-editor-form .product-group-options > .input.select > input[type="hidden"],
.product-group-tabs .catalog-navigation-options > .input.select > input[type="hidden"] {
	display: none;
}

.user-editor-tabs .product-choice-panel .checkbox,
.assignment-tabs .product-choice-panel .checkbox,
.company-tabs .product-choice-panel .checkbox,
.terminal-group-tabs .product-choice-panel .checkbox,
.product-editor-form .product-condiment-options .checkbox,
.product-editor-form .product-group-options .checkbox,
.product-group-tabs .catalog-navigation-options .checkbox {
	display: block;
	margin: 0;
	min-width: 0;
}

.user-editor-tabs .product-choice-panel .checkbox label,
.assignment-tabs .product-choice-panel .checkbox label,
.company-tabs .product-choice-panel .checkbox label,
.terminal-group-tabs .product-choice-panel .checkbox label,
.product-editor-form .product-condiment-options .checkbox label,
.product-editor-form .product-group-options .checkbox label,
.product-group-tabs .catalog-navigation-options .checkbox label {
	height: 100%;
}

.catalog-editor-form .product-group-tabs .catalog-setting-grid .input.checkbox,
.catalog-editor-form .department-tabs .catalog-setting-grid .input.checkbox {
	background: #fff;
	border: 1px solid #cbd6df;
	border-radius: 5px;
	display: block;
	margin: 0;
	min-height: 46px;
	padding: 0;
}

.product-group-tabs .catalog-setting-grid .input.checkbox label,
.department-tabs .catalog-setting-grid .input.checkbox label {
	align-items: center;
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	font-weight: 600;
	gap: 9px;
	margin: 0;
	min-height: 46px;
	padding: 10px 12px;
	width: 100%;
}

.product-group-tabs .catalog-setting-grid .input.checkbox input[type="checkbox"],
.department-tabs .catalog-setting-grid .input.checkbox input[type="checkbox"] {
	accent-color: #2878b8;
	margin: 0;
	position: static;
}

.catalog-editor-form .product-group-tabs .catalog-setting-grid .input.checkbox:hover,
.catalog-editor-form .department-tabs .catalog-setting-grid .input.checkbox:hover {
	background: #eef6fc;
	border-color: #7faed3;
}

.catalog-editor-form .product-group-tabs .catalog-setting-grid .input.checkbox:has(input:checked),
.catalog-editor-form .department-tabs .catalog-setting-grid .input.checkbox:has(input:checked) {
	background: #e5f2ff;
	border-color: #2878b8;
	box-shadow: 0 0 0 1px #2878b8;
	color: #1769aa;
}

.product-choice-panel > .input.select > label:first-child,
.product-control-label {
	color: #274f7d;
	display: block;
	font-size: 16px;
	font-weight: 700;
	grid-column: 1 / -1;
	margin: 0 0 10px;
}

.product-choice-panel .checkbox {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-choice-panel .checkbox label {
	align-items: center;
	background: #fff;
	border: 1px solid #cbd6df;
	border-radius: 5px;
	box-sizing: border-box;
	display: flex;
	font-weight: 600;
	gap: 9px;
	margin: 0;
	min-height: 46px;
	padding: 10px 12px;
}

.product-choice-panel .checkbox label:hover {
	background: #eef6fc;
	border-color: #7faed3;
}

.product-choice-panel .checkbox label:has(input:checked) {
	background: #e5f2ff;
	border-color: #2878b8;
	box-shadow: 0 0 0 1px #2878b8;
	color: #1769aa;
}

.product-choice-panel .checkbox input[type="checkbox"] {
	accent-color: #2878b8;
	flex: 0 0 auto;
	margin: 0;
	position: static;
}

.product-tabs fieldset .input.checkbox {
	align-items: center;
	background: #f7f9fb;
	border: 1px solid #dbe2e9;
	border-radius: 4px;
	display: flex;
	min-height: 38px;
	padding: 8px 10px;
}

.product-tabs fieldset .input.checkbox label {
	align-items: center;
	display: inline-flex;
	gap: 7px;
	margin: 0;
	padding-left: 0;
}

.product-tabs fieldset .input.checkbox input[type="checkbox"] {
	margin: 0;
	position: static;
}

#product-appearance .input.radio > .radio {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

#product-appearance .input.radio > .radio label {
	align-items: center;
	background: #f7f9fb;
	border: 1px solid #cbd6df;
	border-radius: 4px;
	display: flex;
	font-weight: 600;
	gap: 7px;
	margin: 0;
	min-height: 46px;
	padding: 8px 10px;
}

#product-appearance .input.radio > .radio label:has(input:checked) {
	background: #e5f2ff;
	border-color: #2878b8;
	box-shadow: 0 0 0 1px #2878b8;
	color: #1769aa;
}

.product-button-color-control,
.product-font-size-control,
.product-price-levels {
	grid-column: 1 / -1;
}

.product-button-color-options {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(6, minmax(90px, 1fr));
}

.product-button-color-options > input[type="radio"] {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.product-color-choice {
	align-items: flex-end;
	background-image: url(../img/pluBtn1.png);
	background-position: center;
	background-size: cover;
	border: 2px solid transparent;
	border-radius: 7px;
	box-shadow: 0 2px 5px rgb(30 58 83 / 20%);
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	height: 86px;
	justify-content: center;
	margin: 0;
	overflow: hidden;
	padding: 0;
}

.product-color-choice span {
	background: rgb(255 255 255 / 88%);
	box-sizing: border-box;
	color: #263645;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 4px;
	text-align: center;
	width: 100%;
}

.product-color-choice:hover {
	border-color: #79a9d0;
	box-shadow: 0 3px 10px rgb(39 80 126 / 35%);
}

.product-button-color-options > input[type="radio"]:focus + .product-color-choice {
	outline: 3px solid rgb(40 120 184 / 30%);
	outline-offset: 2px;
}

.product-button-color-options > input[type="radio"]:checked + .product-color-choice {
	border-color: #fff;
	box-shadow: 0 0 0 3px #2878b8, 0 4px 12px rgb(39 80 126 / 40%);
}

.product-color-choice-1 { background-image: url(../img/pluBtn2.png); }
.product-color-choice-2 { background-image: url(../img/pluBtn3.png); }
.product-color-choice-3 { background-image: url(../img/pluBtn4.png); }
.product-color-choice-4 { background-image: url(../img/pluBtn5.png); }
.product-color-choice-5 { background-image: url(../img/pluBtn6.png); }
.product-color-choice-6 { background-image: url(../img/pluBtn7.png); }
.product-color-choice-7 { background-image: url(../img/pluBtn8.png); }
.product-color-choice-8 { background-image: url(../img/pluBtn9.png); }
.product-color-choice-9 { background-image: url(../img/pluBtn10.png); }
.product-color-choice-10 { background-image: url(../img/pluBtn11.png); }
.product-color-choice-11 { background-image: url(../img/pluBtn12.png); }

.product-font-size-control .input.radio > .radio {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-font-size-control .input.radio > .radio label {
	align-items: center;
	background: #f7f9fb;
	border: 1px solid #cbd6df;
	border-radius: 5px;
	display: flex;
	font-weight: 700;
	gap: 8px;
	justify-content: center;
	margin: 0;
	min-height: 46px;
	padding: 8px 10px;
}

.product-font-size-control .input.radio > .radio label:has(input:checked) {
	background: #e5f2ff;
	border-color: #2878b8;
	box-shadow: 0 0 0 1px #2878b8;
	color: #1769aa;
}

.catalog-appearance-picker {
	display: grid;
	gap: 18px;
	grid-column: 1 / -1;
}

.catalog-appearance-heading {
	align-items: center;
	background: linear-gradient(135deg, #f3f8fc, #fff);
	border: 1px solid #cbdbe8;
	border-radius: 8px;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	padding: 15px 17px;
}

.catalog-appearance-heading h3 {
	color: #274f7d;
	font-size: 17px;
	margin: 0 0 4px;
}

.catalog-appearance-heading p,
.catalog-appearance-help {
	color: #667786;
	font-size: 12px;
	margin: 0;
}

.catalog-appearance-count {
	background: #e4f0fa;
	border: 1px solid #bad2e5;
	border-radius: 999px;
	color: #245f8a;
	font-size: 11px;
	font-weight: 700;
	padding: 5px 10px;
	white-space: nowrap;
}

.catalog-appearance-group {
	background: #fff;
	border: 1px solid #d4dee7 !important;
	border-radius: 8px;
	display: block !important;
	margin: 0;
	padding: 15px !important;
}

.catalog-appearance-group > legend {
	color: #304f6d;
	font-size: 14px;
	font-weight: 700;
	margin: 0;
	padding: 0 6px;
}

.catalog-appearance-help {
	margin: 0 0 12px;
}

.catalog-appearance-style-options {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
}

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

.catalog-appearance-choice,
.catalog-font-size-choice {
	background: #f8fafc;
	border: 2px solid #d4dee7;
	border-radius: 8px;
	box-sizing: border-box;
	cursor: pointer;
	display: grid;
	margin: 0;
	position: relative;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.catalog-appearance-choice {
	gap: 8px;
	grid-template-rows: 78px auto;
	padding: 8px;
}

.catalog-appearance-preview {
	align-items: center;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.catalog-appearance-preview-image {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.catalog-appearance-preview-text {
	background: rgb(255 255 255 / 86%);
	border-radius: 4px;
	box-shadow: 0 1px 4px rgb(30 58 83 / 18%);
	color: #243a4d;
	display: -webkit-box;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	max-height: calc(2.5em + 10px);
	max-width: calc(100% - 16px);
	overflow: hidden;
	overflow-wrap: anywhere;
	padding: 5px 8px;
	position: relative;
	text-align: center;
	text-overflow: ellipsis;
	white-space: normal;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.catalog-appearance-choice-name {
	color: #40566a;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
}

.catalog-appearance-selected {
	align-items: center;
	background: #2878b8;
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: 0 1px 4px rgb(30 58 83 / 28%);
	color: #fff;
	display: flex;
	font-size: 10px;
	font-weight: 700;
	height: 20px;
	justify-content: center;
	opacity: 0;
	position: absolute;
	right: 6px;
	top: 6px;
	transform: scale(.75);
	transition: opacity .15s ease, transform .15s ease;
	width: 20px;
}

.catalog-appearance-choice:hover,
.catalog-font-size-choice:hover {
	border-color: #79a9d0;
	box-shadow: 0 4px 12px rgb(39 80 126 / 16%);
	transform: translateY(-1px);
}

.catalog-appearance-input:focus-visible + .catalog-appearance-choice,
.catalog-appearance-input:focus-visible + .catalog-font-size-choice {
	outline: 3px solid rgb(40 120 184 / 28%);
	outline-offset: 2px;
}

.catalog-appearance-input:checked + .catalog-appearance-choice,
.catalog-appearance-input:checked + .catalog-font-size-choice {
	background: #eef7ff;
	border-color: #2878b8;
	box-shadow: 0 0 0 1px #2878b8, 0 5px 14px rgb(39 80 126 / 18%);
}

.catalog-appearance-input:checked + label .catalog-appearance-selected {
	opacity: 1;
	transform: scale(1);
}

.catalog-font-size-options {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.catalog-font-size-choice {
	align-items: center;
	gap: 10px;
	grid-template-columns: minmax(54px, auto) 1fr;
	min-height: 70px;
	padding: 10px 14px;
}

.catalog-font-size-preview {
	align-items: center;
	background: #fff;
	border: 1px solid #d5dfe7;
	border-radius: 6px;
	color: #274f7d;
	display: flex;
	font-weight: 700;
	height: 46px;
	justify-content: center;
}

.catalog-font-size-choice--xlarge .catalog-font-size-preview { font-size: 24px; }
.catalog-font-size-choice--large .catalog-font-size-preview { font-size: 20px; }
.catalog-font-size-choice--medium .catalog-font-size-preview { font-size: 16px; }
.catalog-font-size-choice--small .catalog-font-size-preview { font-size: 12px; }

.platform-visibility-panel {
	display: grid;
	gap: 16px;
	grid-column: 1 / -1;
}

.platform-visibility-intro {
	display: grid;
	gap: 4px;
}

.platform-visibility-intro strong {
	color: #244d72;
	font-size: 18px;
}

.platform-visibility-intro span,
.platform-visibility-note {
	color: #627383;
	font-size: 13px;
}

.platform-visibility-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.platform-visibility-card {
	align-items: center;
	background: linear-gradient(145deg, #fff, #f3f7fa);
	border: 1px solid #cbd8e2;
	border-radius: 8px;
	box-shadow: 0 3px 10px rgb(34 74 108 / 10%);
	display: grid;
	gap: 11px;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	min-height: 74px;
	padding: 13px;
}

.platform-visibility-card:has(input:checked) {
	background: linear-gradient(145deg, #f7fcff, #e7f3fb);
	border-color: #3d8bbd;
	box-shadow: 0 0 0 1px #3d8bbd, 0 5px 14px rgb(34 94 139 / 16%);
}

.platform-visibility-mark {
	align-items: center;
	background: #3b789f;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 12px;
	font-weight: 800;
	height: 42px;
	justify-content: center;
	letter-spacing: .03em;
	width: 42px;
}

.platform-visibility-grabfood .platform-visibility-mark { background: #158a61; }
.platform-visibility-foodpanda .platform-visibility-mark { background: #d70f64; }
.platform-visibility-alipaydstore .platform-visibility-mark { background: #1769aa; }

.platform-visibility-copy {
	display: grid;
	gap: 3px;
}

.platform-visibility-copy strong {
	color: #2d4153;
	font-size: 15px;
}

.platform-visibility-copy span {
	color: #6b7a87;
	font-size: 12px;
}

.platform-visibility-toggle .input.checkbox {
	background: transparent;
	border: 0;
	margin: 0;
	min-height: 0;
	padding: 0;
}

.platform-visibility-toggle label {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-size: 12px;
	font-weight: 700;
	gap: 6px;
	margin: 0;
}

.platform-visibility-toggle input[type="checkbox"] {
	height: 19px;
	margin: 0;
	width: 19px;
}

.platform-visibility-note {
	background: #f5f8fa;
	border-left: 3px solid #7ea5bf;
	margin: 0;
	padding: 9px 11px;
}

.product-price-levels-help {
	color: #667786;
	font-size: 12px;
	margin: -3px 0 13px;
}

.product-price-levels {
	border: 0;
	display: grid;
	gap: 10px;
	overflow: visible;
}

.product-price-level-row {
	align-items: center;
	background: #f8fafc;
	border: 1px solid #d5dfe7;
	border-left: 4px solid #aebfcd;
	border-radius: 8px;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(190px, 1fr) minmax(150px, .72fr) minmax(170px, .8fr);
	padding: 12px 14px;
}

.product-price-level-row.is-enabled {
	background: #fff;
	border-left-color: #2878b8;
	box-shadow: 0 2px 8px rgb(35 75 107 / 8%);
}

.product-price-level-identity {
	align-items: center;
	display: flex;
	gap: 11px;
}

.product-price-level-badge {
	align-items: center;
	background: #e5eef6;
	border-radius: 8px;
	color: #315f82;
	display: flex;
	font-size: 18px;
	font-weight: 700;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.product-price-level-row.is-enabled .product-price-level-badge {
	background: #e3f2ff;
	color: #1769aa;
}

.product-price-level-identity strong,
.product-price-level-identity small {
	display: block;
}

.product-price-level-identity strong {
	color: #304f6d;
}

.product-price-level-identity small {
	color: #748391;
	font-size: 11px;
	margin-top: 2px;
}

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

.product-price-toggle {
	align-items: center;
	color: #526779;
	cursor: pointer;
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	gap: 9px;
	margin: 0;
}

.product-price-toggle-track {
	background: #afbdc8;
	border-radius: 999px;
	display: inline-flex;
	height: 24px;
	padding: 3px;
	transition: background .15s ease;
	width: 42px;
}

.product-price-toggle-track > span {
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 1px 4px rgb(38 57 72 / 30%);
	height: 18px;
	transition: transform .15s ease;
	width: 18px;
}

.product-price-toggle-input:checked + .product-price-toggle .product-price-toggle-track {
	background: #2878b8;
}

.product-price-toggle-input:checked + .product-price-toggle .product-price-toggle-track > span {
	transform: translateX(18px);
}

.product-price-toggle-input:focus-visible + .product-price-toggle {
	outline: 3px solid rgb(40 120 184 / 28%);
	outline-offset: 3px;
}

.product-price-toggle-input:disabled + .product-price-toggle {
	cursor: default;
}

.product-price-value > label {
	color: #607384;
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .03em;
	margin-bottom: 4px;
	text-transform: uppercase;
}

.product-price-input-wrap {
	align-items: center;
	display: flex;
	position: relative;
}

.product-price-input-wrap > span {
	color: #526779;
	font-weight: 700;
	left: 11px;
	position: absolute;
	z-index: 1;
}

.product-price-input-wrap .input {
	margin: 0;
	width: 100%;
}

.product-price-input-wrap input[type="number"] {
	height: 38px !important;
	padding-left: 27px !important;
}

.product-set-items-fieldset {
	display: block !important;
}

.product-set-items-card {
	align-items: center;
	background: #f2f8fd;
	border: 1px solid #b9d3e8;
	border-radius: 6px;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-top: 16px;
	padding: 22px;
}

.product-set-items-card strong {
	color: #274f7d;
	font-size: 18px;
}

.product-set-items-card p {
	color: #5b6874;
	margin: 6px 0 0;
}

.product-set-items-card .btn {
	flex: 0 0 auto;
}

.set-item-page {
	margin: 0 auto 28px;
	max-width: 1180px;
	width: 100%;
}

.set-item-header {
	align-items: center;
	background: #f7f9fb;
	border: 1px solid #cfd9e2;
	border-radius: 7px;
	box-sizing: border-box;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 16px;
	padding: 18px 20px;
}

.set-item-header p {
	color: #667482;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	margin: 0 0 3px;
	text-transform: uppercase;
}

.set-item-header h2 {
	color: #274f7d;
	font-size: 22px;
	margin: 0;
}

.set-item-header span {
	color: #536473;
	display: block;
	font-size: 13px;
	margin-top: 5px;
}

.set-item-header span strong {
	background: #e6edf3;
	border-radius: 999px;
	display: inline-block;
	font-size: 11px;
	margin-left: 6px;
	padding: 3px 8px;
}

.set-item-header-actions {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.set-item-header-actions .btn {
	margin: 0;
}

.set-item-list-card,
.set-item-create-panel {
	background: #fff;
	border: 1px solid #d2dce5;
	border-radius: 7px;
	box-shadow: 0 3px 14px rgb(39 79 125 / 10%);
	overflow: hidden;
}

.set-item-section-heading {
	align-items: center;
	background: #f7f9fb;
	border-bottom: 1px solid #d8e0e7;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 15px 18px;
}

.set-item-section-heading h3 {
	color: #274f7d;
	font-size: 17px;
	margin: 0;
}

.set-item-section-heading p {
	color: #667482;
	font-size: 12px;
	margin: 4px 0 0;
}

.set-item-count {
	align-items: center;
	background: #2878b8;
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 13px;
	height: 30px;
	justify-content: center;
	min-width: 30px;
	padding: 0 9px;
}

.set-item-table-wrap {
	margin: 0;
}

.set-item-table {
	margin: 0 !important;
	min-width: 980px !important;
}

.set-item-table td,
.set-item-table th {
	vertical-align: middle !important;
}

.set-item-sequence-form {
	align-items: center;
	display: flex;
	gap: 6px;
	margin: 0;
}

.set-item-sequence-form .input {
	margin: 0;
}

.set-item-sequence-form input[type="number"] {
	box-sizing: border-box;
	height: 34px;
	margin: 0;
	min-width: 64px;
	width: 64px;
}

.set-item-sequence-form .btn {
	height: 34px;
	margin: 0;
}

.set-item-status {
	background: #edf1f4;
	border: 1px solid #d4dde4;
	border-radius: 999px;
	color: #566675;
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 9px;
}

.set-item-status.is-enabled {
	background: #e7f5eb;
	border-color: #b8d9c1;
	color: #26713b;
}

.set-item-actions-heading,
.set-item-actions {
	text-align: right;
}

.set-item-actions form {
	display: inline-block;
	margin: 0;
}

.set-item-actions .btn {
	margin: 0;
}

.set-item-empty-state {
	margin: 16px;
}

.set-item-create-panel {
	margin-top: 16px;
}

.set-item-create-panel > summary {
	align-items: center;
	background: #f2f8fd;
	color: #274f7d;
	cursor: pointer;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	list-style: none;
	padding: 17px 20px;
}

.set-item-create-panel > summary::-webkit-details-marker {
	display: none;
}

.set-item-create-panel > summary::after {
	content: '+';
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
}

.set-item-create-panel[open] > summary {
	border-bottom: 1px solid #cbdbe8;
}

.set-item-create-panel[open] > summary::after {
	content: '\2212';
}

.set-item-create-panel > summary strong,
.set-item-create-panel > summary small {
	display: block;
}

.set-item-create-panel > summary strong {
	font-size: 16px;
}

.set-item-create-panel > summary small {
	color: #637788;
	font-size: 12px;
	font-weight: 400;
	margin-top: 3px;
}

.set-item-next-sequence {
	background: #fff;
	border: 1px solid #c5d6e4;
	border-radius: 999px;
	color: #48667e;
	font-size: 11px;
	font-weight: 700;
	margin-left: auto;
	padding: 5px 10px;
}

.set-item-create-form fieldset {
	border: 0;
	display: grid;
	gap: 15px 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 20px;
}

.set-item-create-form legend {
	color: #274f7d;
	font-size: 15px;
	font-weight: 700;
	grid-column: 1 / -1;
	padding: 0;
}

.set-item-create-form .input {
	margin: 0;
}

.set-item-create-form .input > label:first-child {
	color: #3d5366;
	display: block;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 5px;
}

.set-item-create-form input[type="text"],
.set-item-create-form input[type="number"],
.set-item-create-form select {
	box-sizing: border-box;
	height: 39px;
	margin: 0;
	width: 100%;
}

.set-item-reduction-choice {
	background: #f7f9fb;
	border: 1px solid #d5dee6;
	border-radius: 5px;
	box-sizing: border-box;
	grid-column: 1 / -1;
	padding: 12px 14px;
}

.set-item-reduction-choice .input.checkbox {
	margin: 0;
}

.set-item-reduction-choice .input.checkbox label {
	align-items: center;
	color: #344f67;
	display: flex;
	font-weight: 700;
	gap: 8px;
	margin: 0;
}

.set-item-reduction-choice input[type="checkbox"] {
	accent-color: #2878b8;
	margin: 0;
	position: static;
}

.set-item-reduction-choice p {
	color: #667482;
	font-size: 12px;
	margin: 5px 0 0 24px;
}

.product-form-actions {
	align-items: center;
	background: #f7f9fb;
	border-top: 1px solid #d3dde6;
	display: flex;
	gap: 12px;
	justify-content: flex-start;
	padding: 16px 20px;
}

.product-form-actions .btn {
	margin: 0;
	min-width: 150px;
	padding: 10px 16px;
}

body.report-layout .container_16 > form {
	background: #fff;
	border: 1px solid #aaa;
	border-radius: 4px;
	box-sizing: border-box;
	display: grid;
	gap: 16px 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 0 20px;
	padding: 20px;
	width: 100%;
}

body.report-layout .container_16 > form > .input {
	margin: 0;
	min-width: 0;
}

body.report-layout .container_16 > form > .input > label:first-child {
	display: block;
	font-weight: 600;
	margin: 0 0 6px;
}

body.report-layout .container_16 > form input[type="text"],
body.report-layout .container_16 > form input[type="number"],
body.report-layout .container_16 > form select {
	box-sizing: border-box;
	height: 36px;
	margin: 0;
	max-width: none;
	width: 100%;
}

body.report-layout .container_16 > form > .input:has(.checkbox) {
	border-top: 1px solid #ddd;
	grid-column: 1 / -1;
	padding-top: 14px;
}

body.report-layout .container_16 > form > .input:has(.checkbox) .checkbox {
	display: inline-flex;
	margin: 4px 20px 4px 0;
}

body.report-layout .container_16 > form > .input:has(.checkbox) .checkbox label {
	align-items: center;
	display: inline-flex;
	gap: 6px;
	padding-left: 0;
}

body.report-layout .container_16 > form > .input:has(.checkbox) .checkbox input[type="checkbox"] {
	margin: 0;
	position: static;
}

body.report-layout .report-scope-options {
	background: #f7f9fb;
	border: 1px solid #cbd7e2;
	border-radius: 6px;
	box-sizing: border-box;
	display: grid;
	gap: 16px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 16px;
}

body.report-layout .report-scope-options[hidden] {
	display: none;
}

body.report-layout .report-scope-heading {
	border-bottom: 1px solid #d8e1e8;
	display: flex;
	flex-direction: column;
	gap: 3px;
	grid-column: 1 / -1;
	padding-bottom: 10px;
}

body.report-layout .report-scope-heading strong {
	color: #274f7d;
	font-size: 16px;
}

body.report-layout .report-scope-heading span {
	color: #667482;
	font-size: 12px;
}

body.report-layout .report-scope-option {
	background: #fff;
	border: 1px solid #d7e0e8;
	border-radius: 5px;
	box-sizing: border-box;
	margin: 0;
	min-width: 0;
	padding: 12px;
}

body.report-layout .report-scope-option > label:first-child {
	color: #344454;
	display: block;
	font-weight: 700;
	margin-bottom: 8px;
}

body.report-layout .report-scope-option .checkbox {
	display: block;
	margin: 7px 0;
}

body.report-layout .report-scope-option .checkbox label {
	align-items: center;
	display: flex;
	font-weight: 500;
	gap: 7px;
	padding-left: 0;
}

body.report-layout .report-scope-option .checkbox input[type="checkbox"] {
	accent-color: #2878b8;
	margin: 0;
	position: static;
}

body.report-layout .container_16 > form > button,
body.report-layout .container_16 > form > a {
	box-sizing: border-box;
	margin: 0;
	min-height: 38px;
	padding: 9px 14px;
	text-align: center;
}

.dashboard-page .view-as-company {
	align-items: center;
	background: #f2f7fb;
	border: 1px solid #c7d6e3;
	border-radius: 6px;
	box-sizing: border-box;
	display: flex;
	gap: 14px;
	margin: 0 0 14px 10px;
	max-width: 720px;
	padding: 10px 12px;
}

.dashboard-page .view-as-company-current {
	color: #35495a;
	display: inline-block;
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 600;
}

.dashboard-page .view-as-company form {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	gap: 8px;
	margin: 0;
}

.dashboard-page .view-as-company .input.select {
	margin-left: 0;
	margin-bottom: 0;
	min-width: 180px;
	width: 100%;
}

.dashboard-page .view-as-company select {
	height: 36px;
	margin: 0;
	width: 100%;
}

.dashboard-page .view-as-company button {
	flex: 0 0 auto;
	margin-left: 0;
	margin-top: 0;
	min-height: 36px;
	padding: 7px 13px;
}

.dashboard-page #dashboardSwitchCtrl {
	margin-top: 24px;
}

.dashboard-page .search_options .input.text,
.dashboard-page #SearchData {
	min-width: 275px;
	width: 275px;
}

.dashboard-page .search_options button {
	display: none;
}

.dashboard-page .dashboard-record-limit,
.dashboard-page .dashboard-record-cap {
	text-align: right;
	width: 257px;
}

.dashboard-page .dashboard-pagination-top {
	padding-top: 55px;
}

.dashboard-page .dashboard-pagination-bottom {
	padding-top: 18px;
}

.dashboard-page .terminal_button > a,
.dashboard-page .terminal_button > button.groupclick {
	background: transparent;
	border: 0;
	color: inherit;
	display: block;
	font: inherit;
	height: calc(100% - 30px);
	letter-spacing: inherit;
	padding: 0;
	text-decoration: none;
	width: 100%;
}

@media (min-width: 768px) {
	body.dashboard-layout .dashboard-page .terminal_button {
		margin-left: 2%;
	}

	#navbar_main,
	#navbar_main #navbar {
		height: auto !important;
		max-height: none;
	}

	#navbar_main #navbar {
		display: flex !important;
		align-items: flex-start;
		overflow: visible !important;
	}

	#navbar_main #navbar > .navbar-nav:first-child {
		display: flex;
		flex: 1 1 auto;
		flex-wrap: wrap;
		margin: 0;
	}

	#navbar_main #navbar > .navbar-right {
		display: flex;
		flex: 0 0 auto;
		margin: 0 0 0 auto;
	}

	#navbar_main .navbar-nav > li {
		float: none;
	}

	#navbar_main .navbar-nav > li > a {
		white-space: nowrap;
	}
}

@media (max-width: 767px) {
	body,
	.container_12,
	.container_16 {
		margin-left: 0;
		margin-right: 0;
		min-width: 0;
		width: 100%;
	}

	h1#branding {
		height: 100px;
		padding-left: 12px;
	}

	h1#branding p {
		display: none;
	}

	img#branding {
		height: 92px;
		width: 92px;
	}

	.show_userbox {
		position: absolute;
		right: 8px;
		top: 8px;
		z-index: 2;
	}

	table#userInfo {
		float: none;
		margin: 0;
		width: auto;
	}

	div.userInfo {
		float: none;
		margin: 0;
	}

	body.dashboard-layout .dashboard-page .right-most {
		float: none;
		position: relative;
		right: auto;
		width: 100%;
	}

	.dashboard-page .view-as-company .input.select {
		width: 100%;
	}

	.dashboard-page .view-as-company {
		align-items: stretch;
		flex-direction: column;
		margin-left: 0;
		max-width: none;
	}

	.dashboard-page .view-as-company form {
		align-items: stretch;
		flex-direction: column;
	}

	.dashboard-page .view-as-company button {
		width: 100%;
	}

	.dashboard-page .search_options {
		float: none;
		text-align: left;
	}

	.dashboard-page .search_options .input.text,
	.dashboard-page #SearchData,
	.dashboard-page .table-70 {
		min-width: 0;
		width: 100%;
	}

	.dashboard-page .terminal_button {
		float: none;
		height: 230px;
		margin: 0 auto 20px;
		width: 90%;
	}

	.list-toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.list-toolbar form,
	.list-toolbar .list-search-form {
		margin-left: 0;
		width: 100%;
	}

	.list-toolbar .input {
		flex: 1 1 0;
		min-width: 0;
	}

	.list-toolbar .form-control,
	.list-toolbar .list-search-form .input.text .form-control {
		min-width: 0;
		width: 100%;
	}

	.list-page-meta {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.list-pagination {
		justify-content: flex-start;
	}

	.product-editor-layout {
		display: block;
	}

	.product-editor-sidebar {
		float: none;
		margin-bottom: 16px;
		max-height: 300px;
		position: static;
		width: 100%;
	}

	.product-sidebar-list {
		max-height: 240px;
	}

	.product-editor-layout.has-product-list .product-editor-main {
		width: 100%;
	}

	.condiment-group-switcher {
		align-items: stretch;
		border-left: 0;
		border-radius: 0;
		border-right: 0;
		flex-direction: column;
	}

	.condiment-group-switcher header {
		flex-basis: auto;
	}

	.condiment-group-switcher nav {
		justify-content: flex-start;
	}

	.product-tabs fieldset,
	body.report-layout .container_16 > form {
		grid-template-columns: 1fr;
	}

	.product-tabs > .ui-tabs-panel {
		min-height: 0;
		padding: 15px;
	}

	.product-tabs > .ui-tabs-nav > li {
		flex: 1 1 auto;
	}

	.product-tabs > .ui-tabs-nav > li > a {
		box-sizing: border-box;
		text-align: center;
		width: 100%;
	}

	#product-appearance .input.radio > .radio {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.user-editor-tabs .product-choice-panel > .input.select,
	.assignment-tabs .product-choice-panel > .input.select,
	.company-tabs .product-choice-panel > .input.select,
	.terminal-group-tabs .product-choice-panel > .input.select,
	.product-editor-form .product-condiment-options > .input.select,
	.product-editor-form .product-group-options > .input.select,
	.product-group-tabs .catalog-navigation-options > .input.select,
	.product-choice-panel .checkbox,
	.product-button-color-options,
	.product-font-size-control .input.radio > .radio {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.catalog-appearance-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.catalog-appearance-count {
		white-space: normal;
	}

	.catalog-appearance-style-options,
	.catalog-font-size-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.platform-visibility-grid {
		grid-template-columns: 1fr;
	}

	.choice-panel-toolbar {
		align-items: stretch;
		grid-template-columns: 1fr;
	}

	.choice-panel-count {
		justify-self: start;
		margin-bottom: 0;
	}

	.product-price-level-row {
		gap: 12px;
		grid-template-columns: 1fr 1fr;
	}

	.product-price-level-identity,
	.product-price-value {
		grid-column: 1 / -1;
	}

	.product-set-items-card {
		align-items: flex-start;
		flex-direction: column;
		padding: 16px;
	}

	.catalog-import-header-actions,
	.set-item-header,
	.set-item-header-actions,
	.set-item-section-heading,
	.set-item-create-panel > summary {
		align-items: stretch;
		flex-direction: column;
	}

	.catalog-import-header-actions,
	.set-item-header-actions {
		justify-content: flex-start;
		width: 100%;
	}

	.catalog-import-header-actions .btn,
	.set-item-header-actions .btn {
		box-sizing: border-box;
		width: 100%;
	}

	.set-item-section-heading {
		align-items: flex-start;
	}

	.set-item-count {
		align-self: flex-start;
	}

	.set-item-next-sequence {
		align-self: flex-start;
		margin-left: 0;
	}

	.set-item-create-form fieldset {
		grid-template-columns: 1fr;
		padding: 15px;
	}

	.product-set-items-card .btn,
	.product-form-actions .btn {
		width: 100%;
	}

	.product-form-actions {
		align-items: stretch;
		flex-direction: column;
		padding: 14px;
	}

	body.report-layout .container_16 > form {
		gap: 14px;
		padding: 14px;
	}

	body.report-layout .container_16 > form > .input:has(.checkbox) {
		grid-column: auto;
	}

	body.report-layout .report-scope-options {
		grid-template-columns: 1fr;
	}

	.role-manager {
		grid-template-columns: 1fr;
	}

	.role-group-panel,
	.role-permission-panel {
		border-left: 0;
		border-radius: 0;
		border-right: 0;
	}

	.role-group-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.role-permission-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.role-permission-toolbar,
	.role-permission-groups,
	.role-permission-options {
		grid-template-columns: 1fr;
	}

	.role-select-all {
		box-sizing: border-box;
		width: 100%;
	}

	.customer-editor-layout.has-customer-list {
		display: block;
	}

	.customer-editor-sidebar {
		margin-bottom: 14px;
		max-height: 260px;
		position: static;
	}

	.customer-sidebar-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-height: 190px;
	}

	.customer-tabs fieldset,
	.customer-activity-range,
	.customer-activity-stats {
		grid-template-columns: 1fr;
	}

	.finite-choice-options--many {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.customer-activity-retrieve {
		width: 100%;
	}

	.assignment-editor-header,
	.customer-activity-header,
	.password-editor-header {
		border-left: 0;
		border-radius: 0;
		border-right: 0;
	}

	.password-editor {
		border-radius: 0;
		margin: 0;
		max-width: none;
	}

	.customer-reference-header,
	.customer-receipt-header {
		align-items: stretch;
		border-left: 0;
		border-radius: 0;
		border-right: 0;
		flex-direction: column;
	}

	.customer-reference-header .btn {
		width: 100%;
	}

	.customer-lookup-editor,
	.customer-import-page,
	.customer-receipt-page {
		border-left: 0;
		border-radius: 0;
		border-right: 0;
		max-width: none;
	}

	.customer-lookup-tabs fieldset,
	.customer-import-grid,
	.customer-receipt-details,
	.customer-receipt-financials {
		grid-template-columns: 1fr;
	}

	.customer-receipt-details {
		padding: 10px 14px 0;
	}

	.customer-receipt-section {
		padding-left: 14px;
		padding-right: 14px;
	}

	.customer-receipt-financials {
		gap: 0;
	}

	.catalog-editor-layout.has-catalog-list {
		display: block;
	}

	.catalog-editor-sidebar {
		margin-bottom: 14px;
		max-height: 260px;
		position: static;
	}

	.catalog-sidebar-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-height: 190px;
	}

	.catalog-editor-header {
		border-left: 0;
		border-radius: 0;
		border-right: 0;
	}

	.catalog-setting-grid,
	.catalog-button-color-options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.catalog-editor-form {
		border-radius: 0;
	}

	.function-panel-status {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.function-panel-file-icon {
		margin: 0 auto;
	}

	.function-panel-actions .btn {
		box-sizing: border-box;
		width: 100%;
	}

	.function-panel-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.asset-summary-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.second-display-native-upload {
		grid-template-columns: 1fr;
	}

	.second-display-native-upload .btn {
		width: 100%;
	}
}

/* Terminal and outlet administration surfaces. */
.terminal-editor-page,
.outlet-record-editor {
	max-width: 760px;
}

.terminal-editor-form .integration-field-grid,
.outlet-record-form .input {
	margin-bottom: 0;
}

.terminal-type-card > label {
	min-height: 64px;
}

.terminal-editor-actions,
.outlet-record-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 16px 22px;
}

.outlet-management-page {
	max-width: 1080px;
}

.outlet-management-table {
	min-width: 720px !important;
}

.outlet-management-table td,
.outlet-management-table th {
	vertical-align: middle;
}

.outlet-management-actions {
	min-width: 240px;
}

.outlet-management-actions .btn[disabled] {
	cursor: not-allowed;
	opacity: .55;
}

.outlet-record-form textarea {
	box-sizing: border-box;
	min-height: 86px;
	resize: vertical;
	width: 100%;
}

.outlet-company-panel {
	margin-top: 0;
	max-width: none;
}

.outlet-assignment-page {
	max-width: 900px;
}

.outlet-assignment-options {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.access-denied-page {
	margin-top: 28px;
}

.access-denied-card {
	text-align: center;
}

.access-denied-mark {
	align-items: center;
	background: #b44949;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 24px;
	font-weight: 800;
	height: 48px;
	justify-content: center;
	margin: 0 auto;
	width: 48px;
}

.access-denied-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

.dashboard-empty-state {
	background: #f8fafc;
	border: 1px dashed #b9c8d3;
	border-radius: 7px;
	box-sizing: border-box;
	color: #607587;
	display: grid;
	gap: 4px;
	margin: 14px 0;
	padding: 28px 18px;
	text-align: center;
	width: 100%;
}

.dashboard-empty-state strong {
	color: #294e70;
	font-size: 16px;
}

@media (max-width: 720px) {
	.terminal-editor-page,
	.outlet-record-editor,
	.outlet-management-page,
	.outlet-assignment-page {
		max-width: none;
	}

	.terminal-editor-actions,
	.outlet-record-actions,
	.access-denied-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.terminal-editor-actions .btn,
	.outlet-record-actions .btn,
	.access-denied-actions .btn {
		box-sizing: border-box;
		width: 100%;
	}

	.outlet-assignment-options,
	.user-editor-tabs .product-choice-panel > .input.select,
	.assignment-tabs .product-choice-panel > .input.select,
	.company-tabs .product-choice-panel > .input.select,
	.terminal-group-tabs .product-choice-panel > .input.select,
	.product-editor-form .product-condiment-options > .input.select,
	.product-editor-form .product-group-options > .input.select,
	.product-group-tabs .catalog-navigation-options > .input.select {
		grid-template-columns: 1fr;
	}
}

/* Control panel, authentication, denial, and recovery surfaces. */
.control-panel-layout .container_16 {
	max-width: 100%;
}

.control-panel-page {
	color: #243746;
	display: grid;
	gap: 18px;
	margin: 18px auto 36px;
	max-width: 1140px;
}

.control-panel-hero {
	align-items: center;
	background: linear-gradient(135deg, #173f61 0%, #236a83 62%, #2d8b86 100%);
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(24, 66, 94, .16);
	color: #fff;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	padding: 24px 26px;
}

.control-panel-hero h1,
.control-panel-section-heading h2,
.control-panel-tool-section h3,
.control-panel-card-heading h3,
.auth-card h1,
.access-denied-card h1,
.portal-error-card h1 {
	font-family: inherit;
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 0;
}

.control-panel-hero h1 {
	color: #fff;
	font-size: clamp(25px, 4vw, 35px);
}

.control-panel-hero p {
	color: rgba(255, 255, 255, .84);
	margin: 6px 0 0;
}

.control-panel-eyebrow {
	color: #3d708e;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	margin: 0 0 5px;
	text-transform: uppercase;
}

.control-panel-hero .control-panel-eyebrow {
	color: #a8e6dc;
}

.control-panel-context {
	align-items: stretch;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 10px;
	display: grid;
	grid-template-columns: repeat(2, minmax(120px, 1fr));
	min-width: min(100%, 380px);
	overflow: hidden;
}

.control-panel-context-item {
	box-sizing: border-box;
	display: grid;
	gap: 2px;
	min-width: 0;
	padding: 12px 14px;
}

.control-panel-context-item + .control-panel-context-item {
	border-left: 1px solid rgba(255, 255, 255, .18);
}

.control-panel-context-item small {
	color: rgba(255, 255, 255, .72);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.control-panel-context-item strong {
	color: #fff;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.control-panel-context-item.is-missing strong {
	color: #ffe6a6;
}

.control-panel-context-actions {
	align-items: center;
	background: rgba(8, 30, 45, .18);
	display: flex;
	gap: 12px;
	grid-column: 1 / -1;
	justify-content: space-between;
	padding: 9px 12px;
}

.control-panel-context-actions .btn {
	margin: 0;
}

.control-panel-context-link {
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.control-panel-context-link:hover,
.control-panel-context-link:focus {
	color: #d9fff9;
}

.control-panel-notice {
	align-items: center;
	background: #fff9e8;
	border: 1px solid #ead8a4;
	border-radius: 8px;
	display: flex;
	gap: 8px 16px;
	padding: 11px 15px;
}

.control-panel-notice strong {
	color: #775c18;
}

.control-panel-sales,
.control-panel-tools {
	background: #fff;
	border: 1px solid #d9e3e9;
	border-radius: 11px;
	box-shadow: 0 7px 22px rgba(39, 71, 94, .08);
	box-sizing: border-box;
	display: grid;
	gap: 14px;
	padding: 20px;
}

.control-panel-sales {
	overflow: hidden;
}

.control-panel-section-heading {
	align-items: end;
	display: flex;
	gap: 18px;
	justify-content: space-between;
}

.control-panel-sales .control-panel-section-heading {
	flex-wrap: wrap;
	row-gap: 10px;
}

.control-panel-sales .control-panel-refresh-status {
	min-width: 160px;
}

.control-panel-section-heading h2 {
	color: #234c69;
	font-size: 22px;
}

.control-panel-section-heading > p,
.control-panel-refresh-status {
	color: #667c8c;
	font-size: 12px;
	margin: 0;
	text-align: right;
}

.control-panel-refresh-status.is-error {
	color: #a13d3d;
	font-weight: 700;
}

.control-panel-range-picker {
	border: 0;
	margin: 0 0 15px;
	padding: 4px 0 1px;
	min-height: 64px;
}

.control-panel-range-picker legend {
	color: #526c7e;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 7px;
}

.control-panel-range-options {
	display: flex;
	flex-wrap: nowrap;
	gap: 7px;
	overflow: visible;
}

.control-panel-range-options::-webkit-scrollbar {
	display: none;
}

.control-panel-range-option {
	flex: 1 1 0;
	min-width: 0;
}

.control-panel-range-option {
	cursor: pointer;
	margin: 0;
}

.control-panel-range-option input {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.control-panel-range-option span {
	background: #f3f7f9;
	border: 1px solid #cad7de;
	border-radius: 999px;
	color: #395b70;
	display: block;
	font-size: 12px;
	font-weight: 700;
	padding: 7px 12px;
	min-height: 34px;
	line-height: 1.15;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.control-panel-range-option input:checked + span {
	background: #246987;
	border-color: #246987;
	color: #fff;
}

.control-panel-range-option input:focus-visible + span {
	box-shadow: 0 0 0 3px rgba(36, 105, 135, .24);
}

.control-panel-metric-grid {
	display: grid;
	gap: 11px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 12px;
}

.control-panel-metric {
	background: #f6f9fb;
	border: 1px solid #dce6eb;
	border-radius: 9px;
	display: grid;
	gap: 3px;
	min-width: 0;
	padding: 15px 17px;
}

.control-panel-metric.is-primary {
	background: #edf8f6;
	border-color: #badbd4;
}

.control-panel-metric > span,
.control-panel-metric small {
	color: #68808f;
	font-size: 11px;
}

.control-panel-metric strong {
	color: #183f5a;
	font-size: clamp(24px, 4vw, 34px);
	line-height: 1.15;
	overflow-wrap: anywhere;
}

.control-panel-chart-card,
.control-panel-table-card {
	background: #fff;
	border: 1px solid #dce5ea;
	border-radius: 9px;
	box-sizing: border-box;
	overflow: hidden;
}

.control-panel-chart-card {
	margin-bottom: 12px;
}

.control-panel-card-heading {
	align-items: baseline;
	background: #f7fafb;
	border-bottom: 1px solid #e0e8ec;
	display: flex;
	gap: 8px 14px;
	justify-content: space-between;
	padding: 11px 14px;
}

.control-panel-card-heading h3 {
	color: #2b526d;
	font-size: 15px;
}

.control-panel-card-heading span {
	color: #718593;
	font-size: 11px;
}

.control-panel-chart {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 180px;
	overflow-x: auto;
	padding: 10px;
	text-align: center;
}

.control-panel-chart img,
.control-panel-chart svg,
.control-panel-chart canvas {
	height: auto;
	max-width: 100%;
}

.control-panel-loading-copy {
	color: #718593;
}

.control-panel-detail-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.control-panel-table-card .responsive-table-wrapper {
	border: 0;
	border-radius: 0;
	margin: 0;
}

.control-panel-table-card table {
	margin: 0;
	min-width: 420px;
	width: 100%;
}

.control-panel-table-card th,
.control-panel-table-card td {
	padding: 8px 10px;
}

.control-panel-section-list {
	display: grid;
	gap: 18px;
}

.control-panel-tool-section > header {
	margin-bottom: 9px;
}

.control-panel-tool-section h3 {
	color: #284f6b;
	font-size: 16px;
}

.control-panel-tool-section header p {
	color: #718593;
	font-size: 12px;
	margin: 3px 0 0;
}

.control-panel-tool-grid {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.control-panel-tool-card {
	align-items: center;
	background: #fbfcfd;
	border: 1px solid #d8e2e8;
	border-radius: 8px;
	box-sizing: border-box;
	color: #294e68;
	display: grid;
	gap: 10px;
	grid-template-columns: 38px minmax(0, 1fr) auto;
	min-height: 70px;
	padding: 10px 11px;
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.control-panel-tool-card:hover,
.control-panel-tool-card:focus {
	border-color: #5d9bb4;
	box-shadow: 0 6px 15px rgba(39, 91, 116, .12);
	color: #163d58;
	text-decoration: none;
	transform: translateY(-1px);
}

.control-panel-tool-symbol {
	align-items: center;
	background: #e8f3f6;
	border-radius: 8px;
	color: #27637d;
	display: flex;
	font-size: 11px;
	font-weight: 800;
	height: 38px;
	justify-content: center;
	letter-spacing: .03em;
	width: 38px;
}

.control-panel-tool-copy {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.control-panel-tool-copy strong {
	font-size: 13px;
}

.control-panel-tool-copy small {
	color: #6d818e;
	font-size: 10px;
	line-height: 1.35;
}

.control-panel-tool-arrow {
	color: #78a0b2;
	font-size: 24px;
	line-height: 1;
}

.auth-layout .container_16 {
	max-width: 100%;
}

.auth-page {
	display: flex;
	justify-content: center;
	padding: 34px 16px 48px;
}

.auth-card {
	background: #fff;
	border: 1px solid #d8e3e9;
	border-radius: 12px;
	box-shadow: 0 16px 36px rgba(37, 70, 92, .13);
	box-sizing: border-box;
	max-width: 470px;
	overflow: hidden;
	padding: 24px;
	width: 100%;
}

.auth-card-header {
	align-items: flex-start;
	display: flex;
	gap: 13px;
	margin-bottom: 20px;
}

.auth-card-header h1 {
	color: #214c68;
	font-size: 25px;
}

.auth-card-header p:last-child {
	color: #657c8b;
	margin: 5px 0 0;
}

.auth-card-mark {
	align-items: center;
	background: linear-gradient(135deg, #1b5878, #2b8985);
	border-radius: 10px;
	color: #fff;
	display: flex;
	flex: 0 0 44px;
	font-size: 14px;
	font-weight: 800;
	height: 44px;
	justify-content: center;
}

.auth-form {
	display: grid;
	gap: 14px;
}

.auth-field .input {
	margin: 0;
}

.auth-field label {
	color: #35586d;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 5px;
}

.auth-field .form-control {
	box-sizing: border-box;
	height: 42px;
	width: 100%;
}

.auth-field small {
	color: #718592;
	display: block;
	font-size: 10px;
	margin-top: 4px;
}

.auth-submit {
	box-sizing: border-box;
	margin: 4px 0 0;
	min-height: 42px;
	width: 100%;
}

.auth-card-note {
	border-top: 1px solid #e2e9ed;
	color: #6f828e;
	font-size: 11px;
	margin: 18px 0 0;
	padding-top: 14px;
	text-align: center;
}

.support-approval-card {
	max-width: 540px;
}

.support-approval-copy {
	color: #657c8b;
	font-size: 13px;
	line-height: 1.6;
	margin: 0 0 18px;
}

.support-approval-label-row {
	align-items: baseline;
	display: flex;
	justify-content: space-between;
}

.support-approval-inline-action,
.support-approval-back-link {
	background: none;
	border: 0;
	color: #216f82;
	cursor: pointer;
	font: inherit;
	font-size: 12px;
	padding: 0;
	text-decoration: none;
}

.support-approval-inline-action:hover,
.support-approval-back-link:hover {
	color: #174d62;
	text-decoration: underline;
}

.support-approval-back-link {
	display: block;
	margin-top: 16px;
	text-align: center;
	width: 100%;
}

.support-approval-code-panel {
	background: #f4f8fa;
	border: 1px dashed #b7cbd5;
	border-radius: 10px;
	margin-bottom: 18px;
	padding: 15px;
	text-align: center;
}

.support-approval-code-panel span {
	color: #6f828e;
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.support-approval-code-panel strong {
	color: #214c68;
	display: block;
	font-family: Consolas, Menlo, monospace;
	font-size: 30px;
	letter-spacing: 6px;
	margin-top: 5px;
}

.support-approval-status {
	align-items: center;
	color: #526d7d;
	display: flex;
	font-size: 13px;
	justify-content: center;
}

.support-approval-spinner {
	animation: support-approval-spin .8s linear infinite;
	border: 2px solid #cfdae0;
	border-radius: 50%;
	border-top-color: #267b86;
	height: 14px;
	margin-right: 9px;
	width: 14px;
}

.support-approval-result {
	text-align: center;
}

.support-approval-result h2 {
	color: #214c68;
	font-size: 22px;
	margin: 7px 0 10px;
}

@keyframes support-approval-spin {
	to {
		transform: rotate(360deg);
	}
}

.access-denied-card {
	gap: 12px;
	margin: 0 auto;
	max-width: 620px;
	padding: 30px 24px;
}

.access-denied-card h1 {
	color: #7f2f2f;
	font-size: 25px;
}

.access-denied-card > p {
	margin: 0;
}

.access-denied-help {
	color: #6d7f8a;
	font-size: 12px;
}

.portal-error-layout {
	background: #eef3f6;
	color: #294252;
	margin: 0;
	min-height: 100vh;
}

.portal-error-brand {
	align-items: center;
	background: #fff;
	border-bottom: 1px solid #d7e2e8;
	display: flex;
	gap: 12px;
	justify-content: center;
	min-height: 76px;
	padding: 8px 18px;
}

.portal-error-brand img {
	height: auto;
	max-height: 48px;
	max-width: 150px;
}

.portal-error-brand span {
	color: #6b7f8c;
	font-size: 12px;
}

.portal-error-main {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	margin: 0 auto;
	max-width: 900px;
	padding: clamp(30px, 7vw, 78px) 18px;
}

.portal-error-card {
	background: #fff;
	border: 1px solid #d6e1e7;
	border-radius: 13px;
	box-shadow: 0 15px 34px rgba(34, 65, 86, .12);
	box-sizing: border-box;
	max-width: 610px;
	padding: 30px;
	text-align: center;
	width: 100%;
}

.portal-error-card h1 {
	color: #244d68;
	font-size: clamp(24px, 4vw, 31px);
}

.portal-error-card > p:not(.control-panel-eyebrow):not(.portal-error-address) {
	color: #667c89;
	margin: 10px auto 0;
	max-width: 480px;
}

.portal-error-code {
	align-items: center;
	background: #eaf3f6;
	border-radius: 999px;
	color: #2e6a82;
	display: flex;
	font-size: 15px;
	font-weight: 800;
	height: 54px;
	justify-content: center;
	letter-spacing: .08em;
	margin: 0 auto 16px;
	width: 54px;
}

.portal-error-address {
	background: #f5f8fa;
	border: 1px solid #e0e8ec;
	border-radius: 7px;
	display: grid;
	gap: 4px;
	margin: 18px 0 0;
	padding: 10px;
	text-align: left;
}

.portal-error-address span {
	color: #6e818d;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
}

.portal-error-address code {
	color: #38576a;
	overflow-wrap: anywhere;
}

.portal-error-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 22px;
}

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

@media (max-width: 720px) {
	.control-panel-page {
		margin-top: 12px;
	}

	.control-panel-hero,
	.control-panel-section-heading,
	.control-panel-card-heading {
		align-items: stretch;
		flex-direction: column;
	}

	.control-panel-hero {
		padding: 20px;
	}

	.control-panel-context {
		min-width: 0;
		width: 100%;
	}

	.control-panel-section-heading > p,
	.control-panel-refresh-status {
		text-align: left;
	}

	.control-panel-sales,
	.control-panel-tools {
		padding: 15px;
	}

	.control-panel-detail-grid,
	.control-panel-metric-grid,
	.control-panel-tool-grid {
		grid-template-columns: 1fr;
	}

	.control-panel-chart {
		min-height: 140px;
	}

	.control-panel-range-options { gap: 7px; }
	.control-panel-range-option span {
		padding: 7px 12px;
		font-size: 12px;
		white-space: nowrap;
		text-align: center;
		min-height: 34px;
	}

	.control-panel-context-actions,
	.control-panel-notice {
		align-items: stretch;
		flex-direction: column;
	}

	.control-panel-context-actions .btn,
	.auth-submit,
	.portal-error-actions .btn {
		width: 100%;
	}

	.auth-page {
		padding: 22px 0 36px;
	}

	.auth-card,
	.portal-error-card {
		padding: 22px 18px;
	}

	.portal-error-brand {
		flex-direction: column;
		gap: 2px;
	}

	.portal-error-actions {
		align-items: stretch;
		flex-direction: column;
	}
}

/* ── Premium control-panel desktop: side-by-side (Management left, Sales right compact) ── */
@media (min-width: 980px) {
	.control-panel-page {
		grid-template-columns: minmax(0, 1.55fr) 460px;
		grid-template-areas:
			"hero hero"
			"notice notice"
			"tools sales";
		align-items: start;
		gap: 20px;
		max-width: 1280px;
	}
	.control-panel-hero { grid-area: hero; }
	.control-panel-notice { grid-area: notice; }
	.control-panel-tools { grid-area: tools; min-width: 0; }
	.control-panel-sales {
		grid-area: sales;
		position: sticky;
		top: 18px;
		align-self: start;
		padding: 16px 16px 14px;
		border-radius: 14px;
		background: #ffffff;
		border: 1px solid #dbe7ec;
		box-shadow: 0 10px 28px rgba(31, 67, 88, .08), 0 1px 4px rgba(31, 67, 88, .06);
	}
	/* Sales header: live pulse + refined typography */
	.control-panel-sales .control-panel-section-heading {
		align-items: flex-start;
		gap: 10px;
		padding-bottom: 8px;
		border-bottom: 1px solid #eef3f5;
		margin-bottom: 2px;
	}
	.control-panel-sales .control-panel-section-heading h2 {
		font-size: 18px;
		letter-spacing: -.015em;
	}
	.control-panel-sales .control-panel-eyebrow {
		color: #2a7a8a;
		font-size: 10px;
	}
	.control-panel-sales .control-panel-refresh-status {
		display: inline-flex;
		align-items: center;
		gap: 7px;
		font-size: 11px;
		font-weight: 600;
		color: #6b8290;
		background: #f3f7f9;
		border: 1px solid #e1eaef;
		border-radius: 999px;
		padding: 5px 10px 5px 8px;
		min-width: 0;
		white-space: nowrap;
	}
	.control-panel-sales .control-panel-refresh-status::before {
		content: "";
		width: 7px;
		height: 7px;
		border-radius: 50%;
		background: #1ea885;
		box-shadow: 0 0 0 5px rgba(30,168,133,.16);
		flex: 0 0 7px;
	}
	.control-panel-sales .control-panel-refresh-status.is-error::before {
		background: #c14a3a;
		box-shadow: 0 0 0 5px rgba(193,74,58,.14);
	}
	/* Range pills: compact + premium */
	.control-panel-sales .control-panel-range-picker {
		margin: 8px 0 10px;
		min-height: 0;
	}
	.control-panel-sales .control-panel-range-picker legend {
		font-size: 10px;
		letter-spacing: .09em;
		text-transform: uppercase;
		color: #5f7a8a;
		margin-bottom: 8px;
	}
	.control-panel-sales .control-panel-range-options {
		display: flex;
		flex-wrap: nowrap;
		gap: 7px;
		overflow: visible;
		justify-content: flex-start;
	}
	.control-panel-sales .control-panel-range-option {
		flex: 1 1 0;
		min-width: 0;
	}
	.control-panel-sales .control-panel-range-option span {
		padding: 6px 10px;
		font-size: 11px;
		min-height: 30px;
		border-color: #d6e3e8;
		background: #f7fafb;
		white-space: nowrap;
		text-align: center;
	}
	.control-panel-sales .control-panel-range-option input:checked + span {
		background: linear-gradient(135deg, #1d5a73 0%, #247e8a 100%);
		border-color: #1d5a73;
		box-shadow: 0 4px 12px rgba(29,90,115,.22);
	}
	/* Metrics: hierarchy for narrow rail — primary full width, secondary side-by-side */
	.control-panel-sales .control-panel-metric-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin-bottom: 12px;
	}
	.control-panel-sales .control-panel-metric {
		border-radius: 10px;
		padding: 12px 13px;
		gap: 4px;
		background: #f7fafb;
		border-color: #e2ecef;
		transition: transform .16s ease, box-shadow .16s ease;
	}
	.control-panel-sales .control-panel-metric.is-primary {
		grid-column: 1 / -1;
		background: linear-gradient(135deg, #eef6f7 0%, #f6fafb 58%, #ffffff 100%);
		border-color: #c8ddd9;
		padding: 14px 15px;
		box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
	}
	.control-panel-sales .control-panel-metric > span,
	.control-panel-sales .control-panel-metric small {
		font-size: 10px;
		letter-spacing: .04em;
		font-weight: 700;
		text-transform: uppercase;
		color: #6b8694;
	}
	.control-panel-sales .control-panel-metric strong {
		font-size: clamp(22px, 2.1vw, 28px);
		color: #173f5a;
		line-height: 1.1;
	}
	.control-panel-sales .control-panel-metric.is-primary strong {
		font-size: clamp(26px, 2.4vw, 32px);
		color: #114a5a;
	}
	.control-panel-sales .control-panel-metric small { font-weight: 600; text-transform: none; letter-spacing: 0; }
	/* Chart + tables inside rail */
	.control-panel-sales .control-panel-chart-card {
		border-radius: 10px;
		margin-bottom: 10px;
	}
	.control-panel-sales .control-panel-card-heading {
		padding: 10px 12px;
	}
	.control-panel-sales .control-panel-card-heading h3 { font-size: 13px; }
	.control-panel-sales .control-panel-card-heading span { font-size: 10px; }
	.control-panel-sales .control-panel-chart {
		min-height: 168px;
		padding: 8px 6px;
	}
	.control-panel-sales .control-panel-detail-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.control-panel-sales .control-panel-table-card table { min-width: 0; }
	.control-panel-sales .control-panel-table-card th,
	.control-panel-sales .control-panel-table-card td {
		padding: 7px 9px;
		font-size: 12px;
	}
	.control-panel-sales .control-panel-table-card th {
		font-size: 10px;
		letter-spacing: .06em;
		text-transform: uppercase;
		color: #5a7585;
		background: #f3f7f9;
	}
	.control-panel-sales .responsive-table-wrapper { overflow-x: auto; }
	/* Management tools: premium cards */
	.control-panel-tools {
		padding: 18px 18px 16px;
		border-radius: 14px;
		border: 1px solid #dbe7ec;
		box-shadow: 0 10px 28px rgba(31, 67, 88, .07), 0 1px 4px rgba(31, 67, 88, .05);
	}
	.control-panel-tools .control-panel-section-heading {
		align-items: baseline;
		padding-bottom: 10px;
		margin-bottom: 4px;
		border-bottom: 1px solid #eef3f5;
	}
	.control-panel-tools .control-panel-section-heading h2 { font-size: 20px; }
	.control-panel-tools .control-panel-section-heading::after {
		content: "";
		display: block;
		width: 56px;
		height: 3px;
		border-radius: 999px;
		background: linear-gradient(90deg, #1d5a73, #2d9b8a);
		margin-top: 10px;
		grid-column: 1 / -1;
	}
	.control-panel-tools .control-panel-section-list { gap: 20px; }
	.control-panel-tools .control-panel-tool-section > header { padding: 4px 2px 0; }
	.control-panel-tools .control-panel-tool-grid { gap: 10px; }
	.control-panel-tools .control-panel-tool-card {
		border-radius: 10px;
		min-height: 74px;
		padding: 12px 12px;
		background: linear-gradient(180deg, #fdfefe 0%, #fbfcfd 100%);
		border-color: #dde8ee;
	}
	.control-panel-tools .control-panel-tool-card:hover,
	.control-panel-tools .control-panel-tool-card:focus {
		transform: translateY(-2px);
		border-color: #7fb3c6;
		box-shadow: 0 10px 20px rgba(31, 67, 88, .12);
	}
	.control-panel-tools .control-panel-tool-symbol {
		background: linear-gradient(135deg, #e8f3f6 0%, #e6f0f2 100%);
		border: 1px solid #d4e6ec;
		font-size: 10px;
	}
	.control-panel-sales-footnote {
		color: #7a8e9b;
		font-size: 10px;
		text-align: center;
		margin: 6px 0 0;
		letter-spacing: .02em;
	}
	.control-panel-tools-hint {
		color: #6d8290;
		font-size: 12px;
		margin: 0;
		text-align: right;
		white-space: nowrap;
	}
}

@media (min-width: 980px) and (max-width: 1120px) {
	.control-panel-page {
		grid-template-columns: minmax(0, 1.45fr) 430px;
	}
}

@media (min-width: 1100px) {
	.control-panel-hero { padding: 26px 28px; }
}

@media (max-width: 979px) {
	.control-panel-tools-hint { text-align: left; white-space: normal; }
}

/* Report library and individually audited list-report conditions. */
.report-library-page,
.report-condition-page {
	box-sizing: border-box;
	color: #294252;
	margin: 18px auto 36px;
	max-width: 1120px;
}

.report-library-hero,
.report-condition-hero {
	align-items: center;
	background: linear-gradient(135deg, #1d496a 0%, #296f83 64%, #33877f 100%);
	border-radius: 11px;
	box-shadow: 0 10px 25px rgba(30, 69, 94, .14);
	color: #fff;
	display: flex;
	gap: 22px;
	justify-content: space-between;
	padding: 22px 24px;
}

.report-library-hero h1,
.report-condition-hero h1 {
	color: #fff;
	font-size: clamp(24px, 4vw, 32px);
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 0;
}

.report-library-hero p,
.report-condition-hero p {
	color: rgba(255, 255, 255, .84);
	margin: 6px 0 0;
}

.report-library-hero .control-panel-eyebrow,
.report-condition-hero .control-panel-eyebrow {
	color: #b3ebe2;
}

.report-library-context,
.report-condition-context {
	background: rgba(255, 255, 255, .11);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 9px;
	display: grid;
	gap: 2px;
	min-width: 210px;
	padding: 11px 14px;
}

.report-library-context small,
.report-condition-context small {
	color: rgba(255, 255, 255, .72);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.report-library-context strong,
.report-condition-context strong {
	color: #fff;
	font-size: 15px;
}

.report-library-context span,
.report-condition-context span {
	color: rgba(255, 255, 255, .78);
	font-size: 10px;
}

.report-library-filter {
	background: #fff;
	border: 1px solid #d9e3e9;
	border-radius: 9px;
	box-shadow: 0 5px 16px rgba(38, 72, 94, .07);
	margin: 13px 0;
	padding: 12px 14px;
}

.report-library-filter > label {
	color: #355a70;
	display: block;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 5px;
}

.report-library-filter-row {
	display: flex;
	gap: 8px;
}

.report-library-filter-row .form-control {
	box-sizing: border-box;
	height: 39px;
	margin: 0;
	width: 100%;
}

.report-library-filter-row .btn {
	margin: 0;
}

.report-library-filter-status {
	color: #6a7f8d;
	font-size: 10px;
	margin: 5px 0 0;
}

.report-library-sections {
	display: grid;
	gap: 12px;
}

.report-library-section {
	background: #fff;
	border: 1px solid #d9e3e9;
	border-radius: 9px;
	box-shadow: 0 5px 16px rgba(38, 72, 94, .06);
	padding: 14px;
}

.report-library-section[hidden] {
	display: none;
}

.report-library-section > header {
	align-items: baseline;
	display: flex;
	gap: 8px 14px;
	justify-content: space-between;
	margin-bottom: 9px;
}

.report-library-section h2 {
	color: #28516b;
	font-size: 16px;
	font-weight: 700;
	margin: 0;
}

.report-library-section header p {
	color: #6f838f;
	font-size: 10px;
	margin: 0;
	text-align: right;
}

.report-library-grid {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.report-library-card {
	align-items: center;
	background: #f8fafb;
	border: 1px solid #dae4e9;
	border-radius: 7px;
	box-sizing: border-box;
	color: #294f68;
	display: grid;
	gap: 1px 7px;
	grid-template-columns: minmax(0, 1fr) auto;
	min-height: 52px;
	padding: 8px 10px;
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.report-library-card[hidden] {
	display: none;
}

.report-library-card:hover,
.report-library-card:focus {
	border-color: #6299b2;
	box-shadow: 0 5px 12px rgba(35, 82, 108, .11);
	color: #173e59;
	text-decoration: none;
	transform: translateY(-1px);
}

.report-library-card > span {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
}

.report-library-card > small {
	color: #7a8d98;
	font-size: 9px;
	grid-column: 1;
}

.report-library-card > strong {
	color: #79a2b5;
	font-size: 22px;
	grid-column: 2;
	grid-row: 1 / span 2;
}

.report-library-empty {
	margin-top: 12px;
}

.report-library-empty[hidden],
.report-library-filter-row [hidden] {
	display: none;
}

.report-library-admin-note {
	color: #697e8b;
	font-size: 10px;
	margin: 10px 2px 0;
	text-align: right;
}

.report-condition-page {
	max-width: 920px;
}

.report-condition-form {
	display: grid;
	gap: 12px;
	margin-top: 13px;
}

.report-condition-card,
.report-output-card {
	background: #fff;
	border: 1px solid #d8e3e9;
	border-radius: 9px;
	box-shadow: 0 5px 16px rgba(38, 72, 94, .07);
	padding: 17px;
}

.report-condition-card > header,
.report-output-card > header {
	margin-bottom: 13px;
}

.report-condition-card h2,
.report-output-card h2 {
	color: #28516b;
	font-size: 17px;
	font-weight: 700;
	margin: 0;
}

.report-condition-card header p,
.report-output-card header p {
	color: #6d818e;
	font-size: 11px;
	margin: 4px 0 0;
}

.report-condition-filter-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 15px;
}

.report-condition-field .input {
	margin: 0;
}

.report-condition-field label,
.report-sort-field legend {
	color: #365b70;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 5px;
}

.report-condition-field .form-control {
	box-sizing: border-box;
	height: 40px;
	width: 100%;
}

.report-condition-field > small {
	color: #718591;
	display: block;
	font-size: 9px;
	margin-top: 4px;
}

.report-sort-field {
	border: 0;
	margin: 0;
	padding: 0;
}

.report-sort-field > p {
	color: #718591;
	font-size: 10px;
	margin: 0 0 7px;
}

.report-sort-options {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.report-sort-options label {
	align-items: center;
	background: #f7fafb;
	border: 1px solid #d7e2e8;
	border-radius: 7px;
	box-sizing: border-box;
	color: #3b5c70;
	cursor: pointer;
	display: flex;
	font-size: 11px;
	font-weight: 700;
	gap: 7px;
	margin: 0;
	min-height: 40px;
	padding: 8px 10px;
}

.report-sort-options label:has(input:checked) {
	background: #eaf5f5;
	border-color: #56a29b;
	color: #1e5f5d;
}

.report-sort-options input[type="radio"] {
	accent-color: #287e7a;
	margin: 0;
}

.report-output-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.report-output-actions .btn {
	margin: 0;
}

.report-output-status {
	color: #6b808d;
	font-size: 10px;
	margin: 9px 0 0;
}

.report-archive-card {
	margin-top: 13px;
}

.report-archive-table-wrap > .report-archive-table {
	margin: 0;
	min-width: 520px;
	width: 100%;
}

.report-archive-table th,
.report-archive-table td {
	padding: 11px 13px;
	text-align: left;
	vertical-align: middle;
}

.report-archive-table td strong {
	color: #365b70;
	font-size: 12px;
	overflow-wrap: anywhere;
}

.report-archive-action {
	width: 150px;
}

.report-archive-action .btn {
	margin: 0;
	white-space: nowrap;
}

.report-archive-empty {
	align-items: flex-start;
	background: #f7fafb;
	border: 1px dashed #cbd9e0;
	border-radius: 8px;
	color: #6b808d;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 22px;
}

.report-archive-empty strong {
	color: #365b70;
	font-size: 13px;
}

.report-archive-empty span {
	font-size: 10px;
}

.report-archive-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.report-archive-actions .btn {
	margin: 0;
}

.report-condition-form[aria-busy="true"] .report-output-card {
	border-color: #72a7b8;
	box-shadow: 0 0 0 3px rgba(73, 139, 163, .12);
}

@media (max-width: 960px) {
	.report-library-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.report-library-hero,
	.report-condition-hero,
	.report-library-section > header {
		align-items: stretch;
		flex-direction: column;
	}

	.report-library-context,
	.report-condition-context {
		min-width: 0;
	}

	.report-library-section header p {
		text-align: left;
	}

	.report-library-grid,
	.report-condition-filter-grid,
	.report-sort-options {
		grid-template-columns: 1fr;
	}

	.report-library-filter-row,
	.report-output-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.report-library-filter-row .btn,
	.report-output-actions .btn {
		box-sizing: border-box;
		width: 100%;
	}

	.report-condition-card,
	.report-output-card {
		padding: 14px;
	}
}

/* Date-range reports with folded outlet, terminal, and group scope. */
.report-range-condition-page {
	max-width: 980px;
}

.report-date-grid,
.report-option-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.report-option-grid {
	margin-bottom: 15px;
}

.report-option-grid:last-child {
	margin-bottom: 0;
}

.report-choice-field,
.report-toggle-field {
	border: 0;
	margin: 15px 0 0;
	padding: 0;
}

.report-choice-field:first-of-type,
.report-toggle-field:first-of-type {
	margin-top: 0;
}

.report-choice-field legend,
.report-toggle-field legend {
	color: #365b70;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 5px;
}

.report-choice-field > p {
	color: #718591;
	font-size: 10px;
	margin: 0 0 7px;
}

.report-choice-options {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.report-choice-options label {
	align-items: center;
	background: #f7fafb;
	border: 1px solid #d7e2e8;
	border-radius: 7px;
	box-sizing: border-box;
	color: #3b5c70;
	cursor: pointer;
	display: flex;
	font-size: 11px;
	font-weight: 700;
	gap: 7px;
	margin: 0;
	min-height: 40px;
	padding: 8px 10px;
}

.report-choice-options label:has(input:checked) {
	background: #eaf5f5;
	border-color: #56a29b;
	color: #1e5f5d;
}

.report-choice-options input[type="radio"] {
	accent-color: #287e7a;
	margin: 0;
}

.report-dependent-panel {
	background: #f5f8fa;
	border: 1px solid #d7e2e8;
	border-radius: 7px;
	margin-top: 8px;
	padding: 11px 12px;
}

.report-dependent-panel[hidden] {
	display: none;
}

.report-dependent-panel > header {
	align-items: baseline;
	display: flex;
	gap: 8px 12px;
	justify-content: space-between;
	margin-bottom: 8px;
}

.report-dependent-panel > header strong {
	color: #31566d;
	font-size: 12px;
}

.report-dependent-panel > header small {
	color: #768995;
	font-size: 9px;
}

.report-dependent-groups {
	display: grid;
	gap: 8px;
}

.report-dependent-group > summary {
	background: #fff;
}

.report-toggle-options {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.report-toggle-option {
	background: #f8fafb;
	border: 1px solid #dbe4e9;
	border-radius: 7px;
	box-sizing: border-box;
	padding: 9px 10px;
}

.report-toggle-option:has(input:checked) {
	background: #eaf5f5;
	border-color: #61a39d;
}

.report-toggle-option .input {
	margin: 0;
}

.report-toggle-option label {
	align-items: center;
	color: #3b5c70;
	cursor: pointer;
	display: flex;
	font-size: 11px;
	font-weight: 700;
	gap: 7px;
	margin: 0;
	padding: 0;
}

.report-toggle-option input[type="checkbox"] {
	accent-color: #287e7a;
	margin: 0;
	position: static;
}

.report-toggle-option small {
	color: #718591;
	display: block;
	font-size: 9px;
	line-height: 1.35;
	margin: 4px 0 0 21px;
}

.report-scope-mode-field {
	border: 0;
	margin: 0;
	padding: 0;
}

.report-scope-mode-options {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.report-scope-mode-options label {
	align-items: center;
	background: #f7fafb;
	border: 1px solid #d6e1e7;
	border-radius: 8px;
	box-sizing: border-box;
	color: #36586c;
	cursor: pointer;
	display: flex;
	font-size: 12px;
	font-weight: 700;
	gap: 8px;
	margin: 0;
	min-height: 46px;
	padding: 10px 12px;
}

.report-scope-mode-options label:has(input:checked) {
	background: #e9f5f4;
	border-color: #55a098;
	box-shadow: 0 0 0 2px rgba(55, 143, 137, .09);
	color: #205e5a;
}

.report-scope-mode-options input[type="radio"] {
	accent-color: #287e7a;
	margin: 0;
}

body.report-layout .report-range-condition-page .report-scope-details {
	background: #f5f8fa;
	border-color: #d4e0e6;
	display: grid;
	gap: 8px;
	grid-template-columns: 1fr;
	margin-top: 11px;
	padding: 12px;
}

body.report-layout .report-range-condition-page .report-scope-details[hidden] {
	display: none;
}

body.report-layout #ui-datepicker-div {
	max-height: calc(100vh - 16px);
	overflow-y: auto;
	z-index: 1050 !important;
}

body.report-layout #ui-datepicker-div .ui-datepicker-prev,
body.report-layout #ui-datepicker-div .ui-datepicker-next {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 27px;
	overflow: hidden;
	width: 27px;
}

body.report-layout #ui-datepicker-div .ui-datepicker-prev span,
body.report-layout #ui-datepicker-div .ui-datepicker-next span {
	background: none;
	display: none;
}

body.report-layout #ui-datepicker-div .ui-datepicker-prev::before,
body.report-layout #ui-datepicker-div .ui-datepicker-next::before {
	color: #333;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
}

body.report-layout #ui-datepicker-div .ui-datepicker-prev::before {
	content: "\2039";
}

body.report-layout #ui-datepicker-div .ui-datepicker-next::before {
	content: "\203a";
}

.report-scope-detail {
	background: #fff;
	border: 1px solid #d7e2e8;
	border-radius: 7px;
	overflow: hidden;
}

.report-scope-detail > summary {
	align-items: center;
	color: #31556b;
	cursor: pointer;
	display: flex;
	font-size: 12px;
	font-weight: 700;
	gap: 10px;
	justify-content: space-between;
	list-style-position: inside;
	padding: 10px 12px;
}

.report-scope-detail > summary:hover,
.report-scope-detail > summary:focus {
	background: #f2f7f8;
}

.report-scope-detail > summary small {
	color: #768995;
	font-size: 9px;
	font-weight: 600;
}

.report-scope-detail[open] > summary {
	background: #edf5f6;
	border-bottom: 1px solid #d8e3e8;
}

.report-scope-detail-body {
	padding: 11px 12px;
}

.report-scope-detail-body > p {
	color: #6d818e;
	font-size: 10px;
	margin: 0 0 8px;
}

.report-scope-choice-list .choice-panel-toolbar {
	gap: 8px;
	grid-template-columns: minmax(120px, auto) minmax(160px, 1fr) auto;
	margin-bottom: 9px;
}

.report-scope-choice-list .choice-panel-toolbar .role-select-all {
	font-size: 10px;
	min-height: 34px;
	padding: 0 9px;
}

.report-scope-choice-list .choice-panel-toolbar .role-permission-filter span {
	font-size: 10px;
	margin-bottom: 3px;
}

.report-scope-choice-list .choice-panel-toolbar .role-permission-filter input {
	height: 34px;
	padding: 5px 8px;
}

.report-scope-choice-list .choice-panel-count {
	font-size: 9px;
	margin-bottom: 5px;
}

.report-scope-choice-list .input {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

.report-scope-choice-list .checkbox {
	display: block;
	margin: 0;
}

.report-scope-choice-list .checkbox label {
	align-items: center;
	background: #f8fafb;
	border: 1px solid #dde5e9;
	border-radius: 6px;
	box-sizing: border-box;
	color: #426173;
	display: flex;
	font-size: 10px;
	font-weight: 600;
	gap: 7px;
	margin: 0;
	min-width: 0;
	padding: 8px 9px;
}

.report-scope-choice-list .checkbox label:has(input:checked) {
	background: #eaf5f5;
	border-color: #61a39d;
	color: #205e5a;
}

.report-scope-choice-list input[type="checkbox"] {
	accent-color: #287e7a;
	margin: 0;
	position: static;
}

.report-scope-empty {
	background: #f5f8fa;
	border-radius: 6px;
	padding: 9px;
	text-align: center;
}

@media (max-width: 720px) {
	.report-date-grid,
	.report-option-grid,
	.report-choice-options,
	.report-toggle-options,
	.report-scope-mode-options,
	.report-scope-choice-list .input {
		grid-template-columns: 1fr;
	}

	.report-scope-choice-list .choice-panel-toolbar {
		grid-template-columns: 1fr;
	}

	.report-scope-choice-list .choice-panel-count {
		justify-self: start;
		margin-bottom: 0;
	}

	.report-dependent-panel > header {
		align-items: flex-start;
		flex-direction: column;
	}

	.report-scope-detail > summary {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Shared portal masthead and navigation. */
.portal-shell {
	box-sizing: border-box;
	margin-top: 0;
	max-width: 100%;
	padding: 0 8px;
}

.portal-shell-header {
	background: #fff;
	box-shadow: 0 8px 24px rgba(28, 64, 88, .09);
	margin-bottom: 18px;
}

.portal-masthead {
	align-items: center;
	background: linear-gradient(115deg, #173f61 0%, #235f7b 68%, #267f80 100%);
	box-sizing: border-box;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	min-height: 82px;
	padding: 8px 16px;
}

h1#branding.portal-brand {
	background: transparent;
	height: auto;
	margin: 0;
	padding: 0;
	text-shadow: none;
}

.portal-brand-link {
	align-items: center;
	border: 0;
	color: #fff;
	display: inline-flex;
	gap: 10px;
	min-width: 0;
	text-decoration: none;
}

.portal-brand-link:hover,
.portal-brand-link:focus {
	color: #fff;
	text-decoration: none;
}

img#branding-logo {
	height: 64px;
	object-fit: contain;
	width: 64px;
}

.portal-brand-copy {
	display: grid;
	line-height: 1.05;
}

.portal-brand-copy small {
	color: #a8dbe1;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.portal-brand-copy strong {
	font-size: 17px;
	letter-spacing: .02em;
}

.portal-brand-copy > span {
	color: rgba(255, 255, 255, .76);
	font-size: 10px;
	font-weight: 600;
	margin-top: 2px;
}

.show_userbox {
	margin-left: auto;
	flex: 0 1 auto;
	min-width: 0;
}

div.userInfo.portal-context {
	color: inherit;
	float: none;
	font-size: inherit;
	margin: 0;
	text-shadow: none;
}

dl#userInfo.portal-context-list {
	align-items: stretch;
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
	justify-content: flex-end;
	margin: 0;
}

.portal-context-item {
	background: rgba(255, 255, 255, .11);
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 7px;
	box-sizing: border-box;
	display: grid;
	flex: 0 1 auto;
	max-width: 280px;
	min-width: 92px;
	padding: 7px 9px;
}

.portal-context-item dt,
.portal-context-item dd {
	line-height: 1.2;
	margin: 0;
}

.portal-context-item dt {
	color: #a8dbe1;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.portal-context-item dd {
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#navbar_main.portal-navigation {
	background: #214c68;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	min-height: 44px;
}

#navbar_main.portal-navigation .navbar-header {
	align-items: center;
	color: #fff;
	display: flex;
	min-height: 44px;
}

#navbar_main.portal-navigation .navbar-header h3 {
	font-size: 16px;
	font-weight: 700;
	margin: 0;
	padding: 11px 14px;
}

#navbar_main.portal-navigation .navbar-nav,
#navbar_main.portal-navigation .navbar-nav > li,
#navbar_main.portal-navigation .navbar-nav > li > a {
	background: transparent !important;
}

#navbar_main.portal-navigation .navbar-nav > li > a {
	border-radius: 5px;
	color: rgba(255, 255, 255, .9);
	height: auto;
	line-height: 1.25;
	margin: 5px 2px;
	padding: 8px 10px;
}

#navbar_main.portal-navigation .navbar-nav > li > a:hover,
#navbar_main.portal-navigation .navbar-nav > li > a:focus {
	background: rgba(255, 255, 255, .13) !important;
	color: #fff;
}

#navbar_main .portal-account-actions #userprofile {
	display: flex;
	gap: 2px;
}

#navbar_main .portal-account-actions #userprofile form {
	display: contents;
}

#navbar_main.portal-navigation .navbar-toggle {
	border-color: rgba(255, 255, 255, .45);
	margin: 6px 10px 6px auto;
}

#navbar_main.portal-navigation .navbar-toggle .icon-bar {
	background-color: #fff;
}

@media (max-width: 767px) {
	.portal-shell-header {
		margin-bottom: 12px;
	}

	.portal-masthead {
		align-items: stretch;
		flex-direction: column;
		gap: 7px;
		padding: 7px 10px 9px;
	}

	h1#branding.portal-brand {
		display: block;
		height: auto;
		padding: 0;
	}

	img#branding-logo {
		height: 48px;
		width: 48px;
	}

	.portal-brand-copy strong {
		font-size: 15px;
	}

	.show_userbox {
		margin: 0;
		position: static;
	}

	dl#userInfo.portal-context-list {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		justify-content: stretch;
	}

	.portal-context-item {
		max-width: none;
		min-width: 0;
	}

	#navbar_main.portal-navigation .navbar-header {
		float: none;
		width: 100%;
	}

	#navbar_main.portal-navigation .navbar-header h3 {
		flex: 1 1 auto;
		min-width: 0;
	}

	#navbar_main #navbar.navbar-collapse.show,
	#navbar_main #navbar.navbar-collapse.collapsing {
		display: block !important;
	}

	#navbar_main #navbar.navbar-collapse {
		border-top-color: rgba(255, 255, 255, .18);
		box-shadow: none;
		padding: 4px 8px 8px;
	}

	#navbar_main.portal-navigation .navbar-nav {
		margin: 0;
		max-width: none;
		width: 100%;
	}

	#navbar_main.portal-navigation .navbar-nav > li,
	#navbar_main.portal-navigation .navbar-nav > li > a {
		box-sizing: border-box;
		float: none;
		width: 100%;
	}

	#navbar_main .portal-account-actions #userprofile {
		border-top: 1px solid rgba(255, 255, 255, .16);
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 4px;
		padding-top: 4px;
	}
}

@media (max-width: 480px) {
	dl#userInfo.portal-context-list {
		grid-template-columns: 1fr;
	}

	.catalog-appearance-style-options,
	.catalog-font-size-options,
	.product-price-level-row {
		grid-template-columns: 1fr;
	}

	.product-price-enabled,
	.product-price-level-identity,
	.product-price-value {
		grid-column: 1;
	}
}

/* Dashboard two-column layout: terminal list (left) and Sales Stats (right). */
.dashboard-page {
	align-items: start;
	box-sizing: border-box;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) 420px;
	margin: 0;
	padding: 0;
	width: 100%;
}

.dashboard-page > * {
	min-width: 0;
}

.dashboard-page > .right-most,
.dashboard-page > .right-most-cp {
	clear: none;
	float: none;
	grid-column: 2;
	grid-row: 1 / -1;
	margin-top: 0;
	width: 100%;
}

.dashboard-page > .right-most .dashboard-3,
.dashboard-page > .right-most-cp .dashboard-3 {
	max-width: 100%;
	overflow: hidden;
}

.dashboard-page > .right-most .dashboard-3 img,
.dashboard-page > .right-most-cp .dashboard-3 img,
.dashboard-page > .right-most .dashboard-3 svg,
.dashboard-page > .right-most-cp .dashboard-3 svg,
.dashboard-page > .right-most .dashboard-3 canvas,
.dashboard-page > .right-most-cp .dashboard-3 canvas {
	max-width: 100%;
	height: auto;
}

.dashboard-page > *:not(.right-most):not(.right-most-cp) {
	grid-column: 1;
}

.dashboard-page .pagelimit-70,
.dashboard-page .pagelimit.pagelimit-70 {
	margin-right: 0;
}

/* Single combined box for the masthead portal context (Signed in / Company / Terminal). */
div.userInfo.portal-context {
	color: inherit;
	float: none;
	font-size: inherit;
	margin: 0;
	text-shadow: none;
}

dl#userInfo.portal-context-list {
	align-items: stretch;
	background: rgba(255, 255, 255, .11);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 7px;
	box-sizing: border-box;
	display: block;
	margin: 0;
	max-width: 100%;
	padding: 7px 11px;
	width: max-content;
}

.portal-context-item {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
	display: block;
	max-width: 100%;
	min-width: 0;
	padding: 0;
	width: max-content;
}

.portal-context-item + .portal-context-item {
	margin-top: 4px;
}

.portal-context-item dt,
.portal-context-item dd {
	display: inline;
	line-height: 1.4;
	margin: 0;
}

.portal-context-item dt {
	color: #a8dbe1;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.portal-context-item dt:after {
	content: " : ";
	margin: 0 2px;
}

.portal-context-item dd {
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.dashboard-page {
		grid-template-columns: minmax(0, 1fr);
	}

	.dashboard-page > .right-most,
	.dashboard-page > .right-most-cp {
		grid-column: 1;
		grid-row: auto;
	}

	dl#userInfo.portal-context-list {
		display: block;
	}
}

/* Keep the sales panel out of the left-column row sizing. */
@media (min-width: 768px) {
	.dashboard-page {
		display: block;
		padding-right: 438px;
		position: relative;
	}

	.dashboard-page > .right-most,
	.dashboard-page > .right-most-cp {
		position: absolute;
		right: 0;
		top: 0;
		width: 420px;
	}

	.dashboard-page > *:not(.right-most):not(.right-most-cp) {
		width: 100%;
	}
}

/* Terminal index control parity with the modern list pages. */
@media (min-width: 768px) {
	.dashboard-page .show_userbox,
	.portal-masthead .show_userbox {
		flex: 0 0 auto;
		min-width: max-content;
	}

	dl#userInfo.portal-context-list {
		max-width: none;
		width: max-content;
	}

	.portal-context-item dd {
		overflow: visible;
		text-overflow: clip;
	}

	.dashboard-page > .cls {
		display: none;
	}

	.dashboard-page #dashboardSwitchCtrl {
		box-sizing: border-box;
		margin: 24px 0 12px;
		max-width: 720px;
		width: 100%;
	}

	.dashboard-page #dashboardSwitchCtrl label {
		box-sizing: border-box;
		min-width: 0;
	}

	.dashboard-page .search_options {
		align-items: center;
		display: flex;
		float: none;
		margin: 0 0 12px;
		text-align: left;
		width: 100%;
	}

	.dashboard-page .search_options form {
		align-items: center;
		display: flex;
		gap: 8px;
		margin: 0;
		width: 100%;
	}

	.dashboard-page .search_options .input.text,
	.dashboard-page #SearchData {
		margin: 0;
	}

	.dashboard-page .dashboard-record-limit,
	.dashboard-page .dashboard-record-cap {
		align-items: center;
		background: #f7f9fb;
		border: 1px solid #d7e0e8;
		box-sizing: border-box;
		display: inline-flex;
		float: none;
		margin: 0 0 12px;
		min-height: 36px;
		padding: 5px 10px;
		text-align: left;
		width: auto;
	}

	.dashboard-page .dashboard-record-limit {
		float: left;
	}

	.dashboard-page .dashboard-record-cap {
		float: right;
	}

	.dashboard-page .dashboard-pagination-top {
		clear: both;
		padding-top: 12px;
	}

	.dashboard-page .dashboard-pagination-bottom {
		padding-top: 12px;
	}
}

@media (max-width: 767px) {
	.dashboard-page .search_options form {
		align-items: stretch;
		display: flex;
		flex-direction: column;
	}

	.dashboard-page .dashboard-record-limit,
	.dashboard-page .dashboard-record-cap {
		box-sizing: border-box;
		width: 100%;
	}
}
/* Final terminal control strip alignment. */
@media (min-width: 768px) {
	.portal-masthead {
		min-height: 104px;
	}

	.portal-masthead .show_userbox {
		align-self: flex-start;
	}

	.portal-context-item dt,
	.portal-context-item dd {
		line-height: 1.25;
	}

	.dashboard-page .search_options {
		align-items: center;
		background: #f7f9fb;
		border: 1px solid #d7e0e8;
		border-radius: 5px 0 0 5px;
		box-sizing: border-box;
		display: flex;
		float: right;
		margin: 0 0 12px;
		min-height: 46px;
		padding: 5px 10px;
		width: auto;
	}

	.dashboard-page .search_options form {
		width: auto;
	}

	.dashboard-page .dashboard-record-limit,
	.dashboard-page .dashboard-record-cap {
		border-radius: 0;
		float: left;
		margin: 0 0 12px;
		min-height: 46px;
		white-space: nowrap;
		width: auto !important;
	}

	.dashboard-page .dashboard-record-cap {
		border-left: 0;
		border-radius: 0 5px 5px 0;
	}

	.dashboard-page .dashboard-record-limit {
		border-right: 0;
	}

	.dashboard-page .dashboard-pagination-top {
		clear: both !important;
		margin: 0 0 16px;
		padding-top: 12px;
	}
}
@media (min-width: 768px) {
	.dashboard-page .search_options {
		border-radius: 0 5px 5px 0;
	}

	.dashboard-page .dashboard-record-limit {
		border-radius: 5px 0 0 5px;
	}

	.dashboard-page .dashboard-record-cap {
		border-radius: 0;
	}
}
@media (min-width: 768px) {
	.dashboard-page .dashboard-record-limit,
	.dashboard-page .dashboard-record-cap {
		display: inline-flex !important;
		float: none;
		vertical-align: middle;
		width: auto !important;
	}

	.dashboard-page .dashboard-record-limit {
		border-right: 0;
		border-radius: 5px 0 0 5px;
	}

	.dashboard-page .dashboard-record-cap {
		border-left: 0;
		border-radius: 0;
	}

	.dashboard-page .dashboard-pagination-top {
		display: none;
	}

	.dashboard-page .dashboard-pagination-bottom {
		clear: both;
		display: block;
		margin: 16px 0 0;
		padding-top: 0;
	}
}
@media (min-width: 768px) {
	.dashboard-page .dashboard-pagination-top {
		clear: both !important;
		display: block;
		margin: 16px 0;
		padding-top: 0;
	}
}
/* Responsive terminal navigation and dashboard ordering. */
@media (min-width: 768px) and (max-width: 1199px) {
	#navbar_main #navbar {
		display: none !important;
	}

	#navbar_main #navbar.navbar-collapse.show,
	#navbar_main #navbar.navbar-collapse.collapsing {
		display: block !important;
	}

	#navbar_main.portal-navigation .navbar-header {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.portal-masthead {
		align-items: start;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto;
		min-height: 82px;
	}

	h1#branding.portal-brand {
		grid-column: 1;
		grid-row: 1;
	}

	.portal-masthead .show_userbox {
		align-self: start;
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		margin: 0;
		max-width: 100%;
		position: static;
	}

	dl#userInfo.portal-context-list {
		margin: 0;
		max-width: 100%;
		width: max-content;
	}

	.dashboard-page .dashboard-record-limit,
	.dashboard-page .dashboard-record-cap {
		display: inline-flex !important;
		float: none;
		font-size: 11px;
		margin: 0;
		min-height: 36px;
		padding: 5px 8px;
		vertical-align: middle;
		width: auto !important;
	}

	.dashboard-page .dashboard-record-limit {
		border-right: 0;
		border-radius: 5px 0 0 5px;
	}

	.dashboard-page .dashboard-record-cap {
		border-left: 0;
		border-radius: 0 5px 5px 0;
	}

	.dashboard-page .dashboard-pagination-top {
		clear: both !important;
		display: block;
		margin: 16px 0;
		padding-top: 0;
	}

	.dashboard-page #dashboardSwitchCtrl {
		margin: 16px 0 12px;
		max-width: 100%;
	}
}
@media (min-width: 768px) and (max-width: 1199px) {
	#navbar_main.portal-navigation .navbar-toggle {
		display: block !important;
	}
}

@media (max-width: 767px) {
	.portal-masthead {
		min-height: 120px;
		padding-bottom: 14px;
	}

	#navbar_main.portal-navigation {
		position: relative;
		z-index: 1;
	}

	.dashboard-page > .cls {
		display: none;
	}

	.dashboard-page .search_options {
		align-items: center;
		background: #f7f9fb;
		border: 1px solid #d7e0e8;
		border-radius: 0 5px 5px 0;
		box-sizing: border-box;
		display: inline-flex;
		float: right;
		margin: 0;
		min-height: 36px;
		padding: 5px 8px;
		width: auto !important;
	}

	.dashboard-page .search_options form {
		display: flex;
		width: auto;
	}

	.dashboard-page .search_options .input.text,
	.dashboard-page #SearchData {
		min-width: 0 !important;
		width: 150px !important;
	}

	.dashboard-page .dashboard-record-limit,
	.dashboard-page .dashboard-record-cap {
		margin: 0;
	}

	.dashboard-page .dashboard-pagination-top {
		clear: both !important;
		display: block;
		margin: 16px 0;
		padding-top: 0;
	}
}
/* Keep terminal controls in their visual reading order. */
.dashboard-page .table-70 {
	clear: both;
}

@media (min-width: 768px) {
	.dashboard-page .search_options {
		clear: both;
		float: none;
		width: 100%;
	}

	.dashboard-page .dashboard-record-limit {
		clear: both;
		display: inline-flex !important;
		float: left;
	}

	.dashboard-page .dashboard-record-cap {
		display: inline-flex !important;
		float: left;
	}

	.dashboard-page .dashboard-pagination-top {
		clear: both !important;
	}
}
/* Catalog editors: keep the content panel clear of the tab row and controls visually consistent. */
.catalog-editor-layout.has-catalog-list .catalog-editor-main {
	padding-top: 14px;
}

.catalog-editor-form .product-tabs fieldset input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.catalog-editor-form .product-tabs fieldset select,
.catalog-editor-form .product-tabs fieldset textarea,
.catalog-editor-form .product-tabs fieldset .input.checkbox,
.catalog-editor-form .product-choice-panel {
	background: #fff;
	color: #344454;
}

.master-terminal-notice {
	background: #fff4e5;
	border: 2px solid #d97706;
	border-radius: 6px;
	box-sizing: border-box;
	color: #7c2d12;
	display: grid;
	gap: 5px;
	margin: 0 0 18px;
	padding: 16px 20px;
}

.master-terminal-notice strong {
	font-size: 18px;
}

.master-terminal-notice span {
	font-size: 14px;
	font-weight: 600;
}
/* Keep catalog edit titles below their tab row and give every editor action bar breathing room. */
.product-editor-main .product-tabs > .ui-tabs-panel,
.catalog-editor-main .product-tabs > .ui-tabs-panel {
	padding-top: 1px;
}

.product-editor-form .product-tabs fieldset .input.checkbox,
.catalog-editor-form .product-tabs fieldset .input.checkbox {
	background:#e9e9e9;
	color: #344454;
}

.product-editor-form .product-form-actions,
.catalog-editor-form .product-form-actions {
	padding: 26px 20px 20px;
}

@media (max-width: 767px) {
	.product-editor-main .product-tabs > .ui-tabs-panel,
	.catalog-editor-main .product-tabs > .ui-tabs-panel {
		padding: 32px 15px 15px;
	}

	.product-editor-form .product-form-actions,
	.catalog-editor-form .product-form-actions {
		padding: 24px 14px 14px;
	}
}

/* Shared premium editor identity, aligned with Second Display and Stock modules. */
.catalog-editor-header {
	background: linear-gradient(135deg, #173f61 0%, #236a83 62%, #2d8b86 100%);
	border: 0;
	border-radius: 11px 11px 0 0;
	box-shadow: 0 8px 20px rgb(23 63 97 / 16%);
	box-sizing: border-box;
	padding: 20px 24px;
}

.catalog-editor-header p {
	color: #a8e6dc;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .09em;
	margin: 0 0 4px;
}

.catalog-editor-header h2 {
	color: #fff;
	font-size: clamp(22px, 3vw, 28px);
	font-weight: 700;
	line-height: 1.18;
}

.catalog-editor-header span {
	color: rgb(255 255 255 / 84%);
	font-size: 13px;
	line-height: 1.45;
	margin-top: 6px;
}

.catalog-editor-header + .product-tabs {
	border-radius: 0 0 7px 7px;
}

.catalog-list-hero,
.module-list-hero {
	background: linear-gradient(135deg, #173f61 0%, #236a83 62%, #2d8b86 100%);
	border-radius: 11px;
	box-shadow: 0 8px 20px rgb(23 63 97 / 16%);
	box-sizing: border-box;
	margin: 0 0 14px;
	padding: 20px 24px;
}

.catalog-list-hero p,
.module-list-hero p {
	color: #a8e6dc;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .09em;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.catalog-list-hero h2,
.module-list-hero h2 {
	color: #fff;
	font-size: clamp(22px, 3vw, 28px);
	font-weight: 700;
	line-height: 1.18;
	margin: 0;
}

.catalog-list-hero span,
.module-list-hero span {
	color: rgb(255 255 255 / 84%);
	display: block;
	font-size: 13px;
	line-height: 1.45;
	margin-top: 6px;
}

.customer-reference-header,
.customer-receipt-header,
.set-item-header {
	background: linear-gradient(135deg, #173f61 0%, #236a83 62%, #2d8b86 100%);
	border: 0;
	border-radius: 11px;
	box-shadow: 0 8px 20px rgb(23 63 97 / 16%);
	padding: 20px 24px;
}

.customer-reference-header p,
.customer-receipt-header p,
.set-item-header p {
	color: #a8e6dc;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .09em;
}

.customer-reference-header h2,
.customer-receipt-header h2,
.set-item-header h2 {
	color: #fff;
	font-size: clamp(22px, 3vw, 28px);
	font-weight: 700;
	line-height: 1.18;
}

.customer-reference-header span,
.customer-receipt-header > div > span,
.set-item-header span {
	color: rgb(255 255 255 / 84%);
	line-height: 1.45;
}

.set-item-header span strong {
	background: rgb(255 255 255 / 14%);
	color: #fff;
}

@media (max-width: 767px) {
	.catalog-editor-header,
	.catalog-list-hero,
	.module-list-hero,
	.customer-reference-header,
	.customer-receipt-header,
	.set-item-header {
		border-radius: 0;
		padding: 17px 15px;
	}
}
/* Management tiles use the bundled Bootstrap glyphs instead of text initials. */
.control-panel-tool-symbol.glyphicon {
	font-size: 18px;
	letter-spacing: 0;
}

/* Modern terminal dashboard, aligned with the control-panel sales experience. */
body.dashboard-layout,
body.dashboard-layout .container_16 {
	background: #edf2f5;
}

body.dashboard-layout .container_16 {
	max-width: 100%;
}

.dashboard-page {
	color: #243746;
	margin: 18px auto 36px;
	max-width: 1440px;
}

.dashboard-page .view-as-company {
	background: #fff;
	border-color: #d9e3e9;
	border-radius: 10px;
	box-shadow: 0 5px 16px rgba(39, 71, 94, .07);
	margin: 0 0 18px;
	max-width: none;
	padding: 11px 13px;
}

.dashboard-terminal-workspace {
	background: #fff;
	border: 1px solid #d9e3e9;
	border-radius: 14px;
	box-shadow: 0 10px 28px rgba(31, 67, 88, .07), 0 1px 4px rgba(31, 67, 88, .05);
	box-sizing: border-box;
	min-width: 0;
	overflow: hidden;
	padding: 18px;
}

.dashboard-terminal-heading {
	border-bottom: 1px solid #eef3f5;
	margin-bottom: 15px;
	padding-bottom: 11px;
}

.dashboard-terminal-heading h2 {
	color: #234c69;
	font-family: inherit;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 0;
}

.dashboard-terminal-heading::after {
	background: linear-gradient(90deg, #1d5a73, #2d9b8a);
	border-radius: 999px;
	content: "";
	display: block;
	height: 3px;
	margin-top: 10px;
	width: 56px;
}

.dashboard-terminal-workspace #dashboardSwitchCtrl {
	border: 0;
	box-sizing: border-box;
	clear: both;
	display: flex;
	float: none;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0 0 14px;
	max-width: none;
	padding: 0;
	width: 100%;
}

.dashboard-terminal-workspace #dashboardSwitchCtrl legend {
	color: #5f7a8a;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .09em;
	margin: 0 0 8px;
	text-align: left;
	text-transform: uppercase;
	width: 100%;
}

.dashboard-terminal-workspace #dashboardSwitchCtrl input {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	display: block;
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.dashboard-terminal-workspace #dashboardSwitchCtrl label {
	background: #f7fafb;
	border: 1px solid #d6e3e8;
	border-radius: 999px;
	box-sizing: border-box;
	color: #395b70;
	cursor: pointer;
	flex: 0 1 128px;
	float: none;
	font-size: 12px;
	font-weight: 700;
	height: auto;
	line-height: 1.15;
	margin: 0;
	min-width: 96px;
	overflow: visible;
	padding: 8px 14px;
	text-align: center;
	transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;
	width: auto;
}

.dashboard-terminal-workspace #dashboardSwitchCtrl input:checked + label {
	background: linear-gradient(135deg, #1d5a73 0%, #247e8a 100%);
	border-color: #1d5a73;
	box-shadow: 0 4px 12px rgba(29, 90, 115, .22);
	color: #fff;
}

.dashboard-terminal-workspace #dashboardSwitchCtrl input:focus-visible + label {
	box-shadow: 0 0 0 3px rgba(36, 105, 135, .24);
}

.dashboard-terminal-workspace .search_options {
	background: #f7fafb;
	border: 1px solid #dce6eb;
	border-radius: 9px;
	box-sizing: border-box;
	clear: both;
	display: block;
	float: none;
	margin: 0 0 10px;
	min-height: 0;
	padding: 8px;
	width: 100%;
}

.dashboard-terminal-workspace .search_options form {
	display: flex;
	gap: 8px;
	width: 100%;
}

.dashboard-terminal-workspace .search_options .input.text {
	flex: 1 1 auto;
	width: auto;
}

.dashboard-terminal-workspace #SearchData {
	background: #fff;
	border: 1px solid #cad7de;
	border-radius: 7px;
	box-sizing: border-box;
	height: 38px;
	min-width: 0;
	padding: 7px 11px;
	width: 100%;
}

.dashboard-terminal-workspace .search_options button {
	align-items: center;
	background: #246987;
	border: 1px solid #246987;
	border-radius: 7px;
	color: #fff;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	margin: 0;
	min-width: 56px;
	padding: 7px 14px;
}

.dashboard-terminal-workspace .search_options button:hover,
.dashboard-terminal-workspace .search_options button:focus {
	background: #1b526b;
	border-color: #1b526b;
}

.dashboard-terminal-workspace .dashboard-record-limit,
.dashboard-terminal-workspace .dashboard-record-cap {
	align-items: center;
	background: #f7fafb;
	border: 1px solid #dce6eb;
	border-radius: 7px;
	box-sizing: border-box;
	color: #607887;
	display: inline-flex !important;
	float: none;
	font-size: 11px;
	margin: 0 7px 12px 0;
	min-height: 34px;
	padding: 6px 10px;
	width: auto !important;
}

.dashboard-terminal-workspace .dashboard-record-limit a {
	color: #246987;
}

.dashboard-terminal-workspace .pagelimit-label {
	margin: 0 4px 0 0;
}

.dashboard-terminal-workspace .dashboard-pagination-top,
.dashboard-terminal-workspace .dashboard-pagination-bottom {
	box-sizing: border-box;
	clear: both !important;
	color: #718593;
	margin: 5px 0 16px;
	padding: 0;
	text-align: center;
	width: 100%;
}

.dashboard-terminal-workspace .dashboard-pagination-bottom {
	margin: 18px 0 0;
}

.dashboard-terminal-workspace .dashboard-pagination-top a,
.dashboard-terminal-workspace .dashboard-pagination-bottom a,
.dashboard-terminal-workspace .dashboard-pagination-top .current,
.dashboard-terminal-workspace .dashboard-pagination-bottom .current {
	border-radius: 6px;
	color: #246987;
	display: inline-block;
	margin: 2px;
	padding: 5px 7px;
}

.dashboard-terminal-workspace .dashboard-pagination-top .current,
.dashboard-terminal-workspace .dashboard-pagination-bottom .current {
	background: #246987;
	color: #fff;
}

.dashboard-terminal-workspace .table-70 {
	clear: both;
	min-width: 0;
	width: 100%;
}

.dashboard-terminal-workspace > .cls {
	display: none;
}

.dashboard-terminal-workspace [data-dashboard-section]:not([hidden]) {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
}

.dashboard-terminal-workspace [data-dashboard-section][hidden] {
	display: none !important;
}

.dashboard-terminal-workspace .terminal-card {
	background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
	border: 1px solid #dce7ec;
	border-radius: 12px;
	box-shadow: 0 8px 20px rgba(31, 67, 88, .09), 0 1px 4px rgba(31, 67, 88, .05) !important;
	box-sizing: border-box;
	float: none;
	font-style: normal;
	height: 208px;
	letter-spacing: 0;
	margin: 0;
	overflow: hidden;
	text-align: left;
	text-shadow: none;
	transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
	width: auto;
}

.dashboard-terminal-workspace .terminal-card:hover,
.dashboard-terminal-workspace .terminal-card:focus-within {
	border-color: #7fb3c6;
	box-shadow: 0 13px 26px rgba(31, 67, 88, .14), 0 2px 6px rgba(31, 67, 88, .07) !important;
	font-style: normal;
	transform: translateY(-2px);
}

.dashboard-terminal-workspace .terminal-card > a,
.dashboard-terminal-workspace .terminal-card > button.groupclick {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	padding: 14px 15px 13px;
	text-align: left;
}

.dashboard-terminal-workspace .terminal-card.has-footer > a,
.dashboard-terminal-workspace .terminal-card.has-footer > button.groupclick {
	height: calc(100% - 40px);
}

.dashboard-terminal-workspace .terminal-card-type {
	color: #2a7a8a;
	display: block;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .12em;
	line-height: 1.2;
	margin-bottom: 5px;
	text-transform: uppercase;
}

.dashboard-terminal-workspace .terminal_button_terminal_label {
	background: transparent;
	color: #173f5a;
	display: block;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	text-shadow: none;
	white-space: nowrap;
	width: 100%;
}

.dashboard-terminal-workspace .terminal_button_store_label {
	color: #6c818f;
	display: block;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.35;
	margin: 3px 0 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dashboard-terminal-workspace .terminal-card .dashboard-2 {
	align-items: center;
	background: #f4f8fa;
	border: 1px solid #e1eaee;
	border-radius: 9px;
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1.3fr) minmax(88px, .7fr);
	margin: auto 0 0;
	overflow: hidden;
	padding: 9px 10px;
}

.dashboard-terminal-workspace .terminal-card .d2-left,
.dashboard-terminal-workspace .terminal-card .d2-right {
	box-sizing: border-box;
	float: none;
	padding: 0;
	width: auto;
}

.dashboard-terminal-workspace .terminal-card .d2-right {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-terminal-workspace .terminal-card .d2-total,
.dashboard-terminal-workspace .terminal-card .d2-right-value {
	color: #174d61;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.1;
	margin: 0;
	padding: 0;
	text-align: left;
}

.dashboard-terminal-workspace .terminal-card .d2-right-value {
	font-size: 17px;
	text-align: right;
}

.dashboard-terminal-workspace .terminal-card .d2-total-label,
.dashboard-terminal-workspace .terminal-card .d2-right-value-label {
	color: #728793;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1.2;
	margin: 3px 0 0;
	text-align: left;
	text-transform: uppercase;
}

.dashboard-terminal-workspace .terminal-card .d2-right-value-label {
	text-align: right;
}

.dashboard-terminal-workspace .terminal-card .terminal_footer {
	align-items: center;
	background: #f7fafb;
	border-top: 1px solid #e2eaee;
	box-sizing: border-box;
	display: flex;
	height: 40px;
	justify-content: space-between;
	margin: 0;
	padding: 0 13px;
}

.dashboard-terminal-workspace .terminal-card .terminal_footer_left,
.dashboard-terminal-workspace .terminal-card .terminal_footer_right {
	float: none;
	width: auto;
}

.dashboard-terminal-workspace .terminal-card .terminal_footer_left a {
	color: #246987;
	font-size: 11px;
	font-weight: 700;
	text-shadow: none;
}

.dashboard-terminal-workspace .terminal-card .terminal_footer_right {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	min-width: 22px;
	position: relative;
}

.dashboard-terminal-workspace .terminal-card .status_icon {
	background-position: center;
	background-size: 12px 12px;
	height: 18px;
	margin: 0;
	width: 18px;
}

.dashboard-terminal-workspace .terminal-card .tooltiptext {
	bottom: 25px;
	float: none;
	font-size: 10px;
	padding: 5px 7px;
	position: absolute;
	right: 0;
	white-space: nowrap;
	width: auto;
}

.dashboard-empty-state {
	background: #f7fafb;
	border: 1px dashed #cbd9e0;
	border-radius: 10px;
	color: #647b89;
	display: grid;
	gap: 4px;
	grid-column: 1 / -1;
	padding: 28px 20px;
	text-align: center;
}

.dashboard-empty-state strong {
	color: #2b526d;
	font-size: 15px;
}

.dashboard-page dialog {
	border: 1px solid #d7e3e8;
	border-radius: 12px;
	box-shadow: 0 20px 55px rgba(18, 49, 68, .24);
	max-width: min(92vw, 760px);
	padding: 18px;
}

.dashboard-page dialog::backdrop {
	background: rgba(17, 42, 57, .45);
}

.dashboard-page dialog > form:first-child {
	display: flex;
	justify-content: flex-end;
	margin: 0 0 8px;
}

.dashboard-page dialog > form:first-child button {
	background: #eef4f6;
	border: 1px solid #d5e1e6;
	border-radius: 50%;
	color: #35596d;
	font-size: 20px;
	height: 34px;
	line-height: 1;
	padding: 0;
	width: 34px;
}

.dashboard-sales-panel #btnStatsSelection {
	background: transparent;
	float: none;
	margin: 8px 0 10px;
	min-height: 0;
	width: 100%;
}

.dashboard-sales-panel #btnStatsSelection legend {
	color: #5f7a8a;
	font-size: 10px;
	letter-spacing: .09em;
	margin-bottom: 8px;
	text-align: left;
	text-transform: uppercase;
}

.dashboard-sales-panel #btnStatsSelection label.control-panel-range-option {
	float: none;
	height: auto;
	margin: 0;
	overflow: visible;
	padding: 0;
	width: auto;
}

.dashboard-sales-panel #btnStatsSelection input {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	display: block;
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.dashboard-sales-panel #btnStatsSelection input:checked + span {
	background: linear-gradient(135deg, #1d5a73 0%, #247e8a 100%);
	border-color: #1d5a73;
	box-shadow: 0 4px 12px rgba(29, 90, 115, .22);
	color: #fff;
}

.dashboard-sales-panel .top-product,
.dashboard-sales-panel .hourly-table {
	margin: 0;
	width: 100%;
}

.dashboard-sales-panel .control-panel-sales-footnote {
	color: #7a8e9b;
	font-size: 10px;
	letter-spacing: .02em;
	margin: 6px 0 0;
	text-align: center;
}

@media (min-width: 980px) {
	.dashboard-page {
		padding-right: 438px;
		position: relative;
	}

	.dashboard-page > .right-most,
	.dashboard-page > .right-most-cp {
		position: absolute;
		right: 0;
		top: 0;
		width: 420px;
	}
}

@media (min-width: 980px) and (max-width: 1199px) {
	.dashboard-page {
		padding-right: 398px;
	}

	.dashboard-page > .right-most,
	.dashboard-page > .right-most-cp {
		width: 380px;
	}

	.dashboard-terminal-workspace [data-dashboard-section]:not([hidden]) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 979px) {
	.dashboard-page {
		display: grid;
		gap: 16px;
		grid-template-columns: minmax(0, 1fr);
		padding: 0 14px;
	}

	.dashboard-page > .view-as-company,
	.dashboard-page > .dashboard-sales-panel,
	.dashboard-page > .dashboard-terminal-workspace {
		grid-column: 1;
		margin: 0;
		position: static;
		width: 100%;
	}

	.dashboard-terminal-workspace [data-dashboard-section]:not([hidden]) {
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	}
}

@media (max-width: 720px) {
	.dashboard-page {
		margin-top: 12px;
		padding: 0 10px;
	}

	.dashboard-terminal-workspace,
	.dashboard-sales-panel {
		padding: 15px;
	}

	.dashboard-terminal-heading {
		align-items: stretch;
		flex-direction: column;
	}

	.dashboard-terminal-heading > p {
		text-align: left;
	}

	.dashboard-terminal-workspace .search_options form {
		align-items: stretch;
		flex-direction: row;
	}

	.dashboard-terminal-workspace .dashboard-record-limit,
	.dashboard-terminal-workspace .dashboard-record-cap {
		margin-right: 4px;
		width: auto !important;
	}

	.dashboard-terminal-workspace [data-dashboard-section]:not([hidden]) {
		grid-template-columns: minmax(0, 1fr);
	}

	.dashboard-terminal-workspace .terminal-card {
		height: 208px;
		margin: 0;
		width: 100%;
	}
}

/* Override legacy device-pixel sizing with compact phone layouts. */
@media (max-width: 720px) {
	#navbar_main.portal-navigation .navbar-header {
		min-height: 52px;
		padding: 0 8px;
	}

	#navbar_main.portal-navigation .navbar-toggle {
		align-items: center;
		box-sizing: border-box;
		display: flex;
		flex: 0 0 44px;
		flex-direction: column;
		height: 40px;
		justify-content: center;
		margin: 6px 8px;
		padding: 7px 9px;
		width: 44px;
	}

	#navbar_main.portal-navigation .navbar-toggle .icon-bar {
		flex: 0 0 2px;
		height: 2px;
		margin: 0;
		width: 22px;
	}

	#navbar_main.portal-navigation .navbar-toggle .icon-bar + .icon-bar {
		margin-top: 4px;
	}

	.control-panel-sales #btnStatsSelection {
		box-sizing: border-box;
		float: none;
		margin: 0 0 12px;
		min-height: 0;
		width: 100%;
	}

	.control-panel-sales #btnStatsSelection legend {
		margin-bottom: 8px;
		width: 100%;
	}

	.control-panel-sales #btnStatsSelection .control-panel-range-options {
		display: grid;
		gap: 8px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.control-panel-sales #btnStatsSelection label.control-panel-range-option {
		float: none;
		height: auto;
		margin: 0;
		overflow: visible;
		padding: 0;
		width: auto;
	}

	.control-panel-sales #btnStatsSelection .control-panel-range-option span {
		align-items: center;
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		min-height: 40px;
		padding: 7px 8px;
		white-space: nowrap;
		width: 100%;
	}

	.control-panel-sales .control-panel-table-card table {
		font-variant-numeric: tabular-nums;
		min-width: 0;
		table-layout: fixed;
		width: 100%;
	}

	.control-panel-sales .control-panel-table-card th,
	.control-panel-sales .control-panel-table-card td {
		box-sizing: border-box;
		font-size: 11px;
		height: auto;
		line-height: 1.35;
		overflow-wrap: anywhere;
		padding: 7px 6px;
		white-space: normal;
	}

	.control-panel-sales .control-panel-table-card tr {
		height: auto;
	}

	.control-panel-sales .control-panel-table-card th {
		font-size: 10px;
		letter-spacing: .03em;
	}

	.control-panel-sales .top-product th:first-child,
	.control-panel-sales .top-product td:first-child,
	.control-panel-sales .top-product-cp th:first-child,
	.control-panel-sales .top-product-cp td:first-child {
		width: 12%;
	}

	.control-panel-sales .top-product th:last-child,
	.control-panel-sales .top-product td:last-child,
	.control-panel-sales .top-product-cp th:last-child,
	.control-panel-sales .top-product-cp td:last-child {
		text-align: right;
		width: 30%;
	}

	.control-panel-sales .hourly-table th,
	.control-panel-sales .hourly-table td,
	.control-panel-sales .hourly-table-cp th,
	.control-panel-sales .hourly-table-cp td {
		text-align: right;
	}

	.control-panel-sales .hourly-table th:first-child,
	.control-panel-sales .hourly-table td:first-child,
	.control-panel-sales .hourly-table-cp th:first-child,
	.control-panel-sales .hourly-table-cp td:first-child {
		text-align: left;
		width: 24%;
	}

	.control-panel-sales .hourly-table th:last-child,
	.control-panel-sales .hourly-table td:last-child,
	.control-panel-sales .hourly-table-cp th:last-child,
	.control-panel-sales .hourly-table-cp td:last-child {
		width: 30%;
	}

	.control-panel-sales .responsive-table-wrapper {
		overflow-x: hidden;
	}

	.dashboard-terminal-workspace .pagelimit-label,
	.dashboard-terminal-workspace .dashboard-record-limit a {
		font-size: 11px;
	}

	.dashboard-terminal-workspace .search_options {
		font-size: 12px;
	}

	.dashboard-terminal-workspace .dashboard-pagination-top,
	.dashboard-terminal-workspace .dashboard-pagination-bottom {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		font-size: 0;
		gap: 4px;
		justify-content: center;
	}

	.dashboard-terminal-workspace .dashboard-pagination-top > a,
	.dashboard-terminal-workspace .dashboard-pagination-top > .current,
	.dashboard-terminal-workspace .dashboard-pagination-top > .disabled,
	.dashboard-terminal-workspace .dashboard-pagination-bottom > a,
	.dashboard-terminal-workspace .dashboard-pagination-bottom > .current,
	.dashboard-terminal-workspace .dashboard-pagination-bottom > .disabled {
		border: 1px solid #d5e1e6;
		border-radius: 6px;
		box-sizing: border-box;
		font-size: 11px;
		line-height: 1.2;
		margin: 0;
		min-height: 30px;
		min-width: 30px;
		padding: 7px 8px;
		width: auto;
	}

	.dashboard-terminal-workspace .pagination-divider {
		display: none;
	}
}

.dashboard-live-search-status {
	align-items: center;
	color: #687f8d;
	display: flex;
	font-size: 11px;
	gap: 7px;
	line-height: 1.35;
	margin: -2px 2px 12px;
}

.dashboard-live-search-status::before {
	background: #2d9b8a;
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(45, 155, 138, .12);
	content: "";
	flex: 0 0 6px;
	height: 6px;
	width: 6px;
}

.dashboard-terminal-workspace .terminal-card.is-live-filtered-out {
	display: none;
}

.dashboard-live-filter-empty {
	margin: 0 0 14px;
}

.dashboard-live-filter-empty[hidden] {
	display: none;
}
.portal-shell > .message {
	background: #eaf4fb;
	border: 1px solid #9bc2dc;
	border-left: 5px solid #2878b8;
	border-radius: 5px;
	box-sizing: border-box;
	color: #244d72;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.45;
	margin: 14px 0 18px;
	padding: 11px 14px;
	text-shadow: none;
}

.portal-shell > .message.error {
	background: #fdecea;
	border-color: #e2a3a0;
	border-left-color: #c0392b;
	color: #8a241c;
}

.portal-shell > .message.success {
	background: #eaf7ee;
	border-color: #9fcfab;
	border-left-color: #2f8f46;
	color: #246b35;
}

.portal-shell > .message.warning {
	background: #fff8df;
	border-color: #e4c76d;
	border-left-color: #c99316;
	color: #71530d;
}

.portal-shell > .message.info {
	background: #eaf4fb;
	border-color: #9bc2dc;
	border-left-color: #2878b8;
	color: #244d72;
}

.portal-shell > .message.hidden {
	display: none;
}
