/* © 2026 Mark Kats. Все права защищены. Копирование и переработка запрещены. */

.proposal-public-page .page-wrap,
.proposal-result-page {
	--proposal-surface: var(--ui-surface);
	--proposal-surface-soft: var(--ui-surface-soft);
	--proposal-border: var(--ui-border);
	--proposal-border-strong: var(--ui-border-strong);
	--proposal-text: var(--ui-text);
	--proposal-muted: var(--ui-text-dim);
	--proposal-accent: var(--ui-accent, var(--app-focus-border));
	--proposal-background: var(--ui-page-bg, var(--app-html-bg, var(--ui-surface)));
	--proposal-success: var(--ui-success-text, var(--status-success-text));
	--proposal-warning: var(--status-warning-text, var(--ui-warning-icon-text));
	--proposal-danger: var(--status-danger-text, var(--ui-danger-icon-text));
	--proposal-radius: var(--ui-radius, 10px);
}

#proposals .proposals-module__vue-page {
	width: min(100%, 1280px);
}

.proposal-public-page .pb-btn--success {
	border-color: var(--ui-success-border);
	background: var(--ui-success-bg);
	color: var(--ui-success-text);
}

.proposal-public-page .pb-btn--success:hover {
	border-color: var(--ui-success-border-hover);
	background: var(--ui-success-bg-hover);
	color: var(--ui-success-text-hover);
}

.proposal-public-unavailable {
	display: grid;
	box-sizing: border-box;
	place-items: center;
	min-height: 100vh;
	padding: 24px;
	background: var(--proposal-background);
	color: var(--proposal-text);
}

.proposal-public-unavailable__card {
	display: grid;
	justify-items: center;
	gap: 12px;
	width: min(100%, 520px);
	padding: 32px;
	border: 1px solid var(--proposal-border);
	border-radius: var(--proposal-radius);
	background: var(--proposal-surface);
	text-align: center;
}

.proposal-public-unavailable__card h1,
.proposal-public-unavailable__card p {
	margin: 0;
}

.proposal-public-unavailable__card p {
	color: var(--proposal-muted);
	line-height: 1.5;
}

.proposal-public-unavailable__mark {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border-radius: 50%;
	background: var(--proposal-surface-soft);
	color: var(--proposal-muted);
	font-size: 28px;
}

.proposal-document-section {
	padding: 16px;
	border: 1px solid var(--proposal-border);
	border-radius: var(--proposal-radius);
	background: var(--proposal-surface);
}

.proposal-document-section h2 {
	margin: 0 0 12px;
	font:
		600 17px/1.2 'IBM Plex Sans Condensed',
		sans-serif;
}
.proposal-document-intro {
	color: var(--proposal-text);
	font-size: 13px;
	line-height: 1.55;
}
.proposal-document-intro p {
	margin: 12px 0 0;
	color: var(--proposal-muted);
}
.proposal-document-table-wrap {
	overflow-x: auto;
}
.proposal-document-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
}
.proposal-document-table th,
.proposal-document-table td {
	padding: 9px 8px;
	border-bottom: 1px solid var(--proposal-border);
	text-align: right;
	vertical-align: top;
	white-space: nowrap;
}
.proposal-document-table th:first-child,
.proposal-document-table td:first-child {
	width: 100%;
	text-align: left;
	white-space: normal;
}
.proposal-document-table small {
	display: block;
	margin-top: 3px;
	color: var(--proposal-muted);
}
.proposal-document-table tfoot th {
	border-bottom: 0;
	font-size: 14px;
}
.proposal-document-cta {
	display: flex;
	justify-content: center;
	padding: 22px;
}

@media (max-width: 600px) {
	.proposal-document-section {
		padding: 12px;
	}
	.proposal-document-table th,
	.proposal-document-table td {
		padding: 7px 6px;
	}
	.proposal-document-table-wrap {
		overflow: visible;
	}
	.proposal-document-table {
		display: block;
		min-width: 0;
	}
	.proposal-document-table thead {
		display: none;
	}
	.proposal-document-table tbody,
	.proposal-document-table tfoot {
		display: grid;
		gap: 8px;
	}
	.proposal-document-table tbody tr:not(.proposal-document-group) {
		display: grid;
		gap: 7px;
		padding: 10px;
		border: 1px solid var(--proposal-border);
		border-radius: calc(var(--proposal-radius) - 2px);
		background: var(--proposal-surface-soft);
	}
	.proposal-document-table tbody tr.proposal-document-group {
		display: block;
		padding: 3px 2px 0;
		border: 0;
		background: transparent;
	}
	.proposal-document-table tbody tr:not(.proposal-document-group) td {
		display: grid;
		grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
		gap: 8px;
		align-items: baseline;
		width: auto;
		padding: 0;
		border: 0;
		text-align: right;
		white-space: normal;
		overflow-wrap: anywhere;
	}
	.proposal-document-table tbody tr:not(.proposal-document-group) td::before {
		content: attr(data-label);
		color: var(--proposal-muted);
		font-size: 11px;
		text-align: left;
	}
	.proposal-document-table tbody tr:not(.proposal-document-group) td:first-child {
		grid-template-columns: minmax(0, 1fr);
		gap: 3px;
		text-align: left;
	}
	.proposal-document-table tbody tr:not(.proposal-document-group) td:first-child::before {
		display: block;
	}
	.proposal-document-table tfoot tr {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
		padding: 4px 2px 0;
	}
	.proposal-document-table tfoot th {
		padding: 0;
		border: 0;
		white-space: normal;
	}
	.proposal-document-table tfoot th:last-child {
		text-align: right;
		white-space: nowrap;
	}
}

.proposal-result-document,
.proposal-public-page .card {
	display: grid;
	gap: 12px;
}

.proposal-result-document__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 20px;
	border: 1px solid var(--proposal-border);
	border-radius: calc(var(--proposal-radius) + 2px);
	background: linear-gradient(
		135deg,
		color-mix(in srgb, var(--proposal-accent) 9%, var(--proposal-surface)),
		var(--proposal-surface)
	);
}

.proposal-result-document__head h1 {
	margin: 3px 0 0;
	font:
		600 22px/1.1 'IBM Plex Sans Condensed',
		sans-serif;
}

.proposal-result-document__identity {
	display: flex;
	align-items: flex-start;
	min-width: 0;
	gap: 14px;
}

.proposal-result-document__logo {
	width: auto;
	max-width: 150px;
	height: 48px;
	object-fit: contain;
}

.proposal-result-document__head span,
.proposal-result-document__head p {
	color: var(--proposal-muted);
	font-size: 11px;
}

.proposal-result-document__head .proposal-result-document__lead {
	max-width: 680px;
	margin: 8px 0 0;
	color: var(--proposal-text);
	font-size: 13px;
	line-height: 1.45;
}

.proposal-result-page {
	box-sizing: border-box;
	width: 100%;
	min-height: 100vh;
	margin: 0;
	padding: 28px 16px;
	background: var(--proposal-background);
}

.proposal-result-document {
	width: min(100%, 980px);
	margin: 0 auto;
}

.proposal-result-document [data-proposal-section='configuration'] {
	display: grid;
	gap: 12px;
}

.proposal-snapshot__hero,
.proposal-result-document .section-title-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 16px 18px;
	border: 1px solid var(--proposal-border);
	border-radius: var(--proposal-radius);
	background: color-mix(in srgb, var(--proposal-accent) 8%, var(--proposal-surface-soft));
}

.proposal-snapshot__hero span,
.proposal-snapshot__hero strong {
	display: block;
}

.proposal-snapshot__hero span {
	color: var(--proposal-muted);
	font-size: 11px;
}
.proposal-snapshot__hero strong {
	margin-top: 3px;
	font-size: 24px;
}

.proposal-snapshot__section,
.proposal-result-document > .card,
.proposal-result-document [data-proposal-section='configuration'] > .card {
	padding: 16px 18px;
	border: 1px solid var(--proposal-border);
	border-radius: var(--proposal-radius);
	background: var(--proposal-surface);
	box-shadow: var(--ui-card-depth-shadow, 0 10px 24px color-mix(in srgb, var(--ui-text) 14%, transparent));
}

.proposal-snapshot__section h2,
.proposal-result-document > .card h2,
.proposal-result-document [data-proposal-section='configuration'] > .card h2 {
	margin: 0 0 12px;
	font:
		600 18px/1.15 'IBM Plex Sans Condensed',
		sans-serif;
}

.proposal-snapshot__facts,
.proposal-snapshot__recommendations,
.proposal-snapshot__calculation,
.proposal-result-document > .card > .chips,
.proposal-result-document [data-proposal-section='configuration'] > .card > .chips {
	display: grid;
	gap: 0;
}

.proposal-snapshot__facts > div,
.proposal-snapshot__recommendations > div,
.proposal-snapshot__calculation > div,
.proposal-result-document > .card > .chips > .chip,
.proposal-result-document [data-proposal-section='configuration'] > .card > .chips > .chip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 32px;
	padding: 0 2px;
	border: 0;
	border-bottom: 1px solid var(--proposal-border);
	border-radius: 0;
	background: transparent;
}

.proposal-snapshot__facts > div:last-child,
.proposal-snapshot__recommendations > div:last-child,
.proposal-snapshot__calculation > div:last-child,
.proposal-result-document > .card > .chips > .chip:last-child,
.proposal-result-document [data-proposal-section='configuration'] > .card > .chips > .chip:last-child {
	border-bottom: 0;
}

.proposal-result-document [data-proposal-section='configuration'] .finance-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--proposal-border);
	border-radius: calc(var(--proposal-radius) - 2px);
}

.proposal-result-document [data-proposal-section='configuration'] .finance-table {
	width: 100%;
	border-collapse: collapse;
}

.proposal-result-document [data-proposal-section='configuration'] .finance-table th,
.proposal-result-document [data-proposal-section='configuration'] .finance-table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--proposal-border);
	text-align: left;
}

.proposal-result-document [data-proposal-section='configuration'] .finance-table th {
	color: var(--proposal-muted);
	font-size: 12px;
	font-weight: 600;
	background: var(--proposal-surface-soft);
}

.proposal-result-document [data-proposal-section='configuration'] .finance-table tbody tr:last-child td {
	border-bottom: 0;
}
.quiz-runtime {
	--proposal-surface: var(--ui-surface);
	--proposal-surface-soft: color-mix(in srgb, var(--proposal-surface) 88%, var(--proposal-text));
	--proposal-border: color-mix(in srgb, var(--proposal-text) 20%, transparent);
	--proposal-border-strong: color-mix(in srgb, var(--proposal-text) 34%, transparent);
	--proposal-text: var(--ui-text);
	--proposal-muted: color-mix(in srgb, var(--proposal-text) 58%, var(--proposal-surface));
	--proposal-accent: var(--ui-accent, var(--app-focus-border));
	--proposal-background: var(--ui-page-bg, var(--app-html-bg, var(--ui-surface)));
	--proposal-danger: var(--status-danger-text, var(--ui-danger-icon-text, var(--ui-danger)));
	--proposal-radius: var(--ui-radius);
	--quiz-runtime-description: color-mix(in srgb, var(--proposal-text) 58%, var(--proposal-surface));
	--quiz-hero-bg: color-mix(in srgb, var(--proposal-background) 86%, var(--proposal-surface));
	--quiz-hero-border: color-mix(in srgb, var(--proposal-text) 12%, transparent);
	--quiz-option-border: color-mix(in srgb, var(--proposal-text) 18%, transparent);
	--quiz-option-bg: color-mix(in srgb, var(--proposal-surface) 94%, var(--proposal-background));
	--quiz-option-hover-border: color-mix(in srgb, var(--proposal-text) 30%, transparent);
	--quiz-option-hover-bg: color-mix(in srgb, var(--proposal-text) 7%, var(--proposal-surface));
	--quiz-field-border: color-mix(in srgb, var(--proposal-text) 20%, transparent);
	--quiz-btn-border: color-mix(in srgb, var(--proposal-text) 28%, transparent);
	--quiz-btn-bg: color-mix(in srgb, var(--proposal-text) 7%, transparent);
	--quiz-btn-hover-border: color-mix(in srgb, var(--proposal-text) 38%, transparent);
	--quiz-btn-hover-bg: color-mix(in srgb, var(--proposal-text) 12%, var(--proposal-surface));
	--quiz-cta-bg: var(--proposal-accent);
	--quiz-cta-text: var(--quiz-btn-primary-text);
	--quiz-btn-primary-bg: var(--quiz-cta-bg);
	--quiz-btn-primary-border: var(--quiz-cta-bg);
	--quiz-btn-primary-text: #1a1610;
	--quiz-progress-track: color-mix(in srgb, var(--proposal-text) 14%, transparent);
	--quiz-next-text: var(--quiz-btn-primary-text);
	--quiz-option-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
	--quiz-option-hover-shadow: 0 3px 8px rgba(0, 0, 0, 0.5);
	--quiz-option-checked-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
	--quiz-option-checked-border: var(--proposal-accent);
	--quiz-option-checked-bg: color-mix(in srgb, var(--proposal-accent) 12%, var(--proposal-surface));
	--quiz-option-checked-border-width: 1px 1px 1px 2px;
	--quiz-option-checked-padding: 10px 12px 10px 11px;
	--quiz-runtime-mobile-actions-bottom-offset: 49px;
	--quiz-runtime-mobile-panel-padding-bottom: 126px;
	box-sizing: border-box;
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 100vh;
	padding: 18px 14px 14px;
	background: var(--proposal-background);
	color: var(--proposal-text);
}

html[data-ui-theme='light'] .quiz-runtime {
	--proposal-surface-soft: color-mix(in srgb, var(--proposal-surface) 90%, var(--proposal-text));
	--proposal-border: color-mix(in srgb, var(--proposal-text) 24%, transparent);
	--proposal-border-strong: color-mix(in srgb, var(--proposal-text) 36%, transparent);
	--quiz-runtime-description: color-mix(in srgb, var(--proposal-text) 72%, var(--proposal-surface));
	--quiz-runtime-shell-shadow: 0 0 0 1px rgba(15, 23, 42, 0.1), 0 12px 28px rgba(15, 23, 42, 0.16);
	--quiz-hero-border: var(--proposal-border);
	--quiz-option-border: var(--proposal-border-strong);
	--quiz-option-bg: var(--proposal-surface-soft);
	--quiz-option-hover-border: color-mix(in srgb, var(--proposal-text) 70%, transparent);
	--quiz-option-hover-bg: color-mix(in srgb, var(--proposal-text) 4%, var(--proposal-surface));
	--quiz-field-border: var(--proposal-border-strong);
	--quiz-btn-border: var(--proposal-border-strong);
	--quiz-btn-bg: transparent;
	--quiz-btn-hover-border: var(--proposal-border-strong);
	--quiz-btn-hover-bg: var(--proposal-surface-soft);
	--quiz-btn-primary-bg: var(--quiz-cta-bg);
	--quiz-btn-primary-border: var(--quiz-cta-bg);
	--quiz-btn-primary-text: #ffffff;
	--quiz-progress-track: color-mix(in srgb, var(--proposal-text) 14%, transparent);
	--quiz-next-text: var(--quiz-btn-primary-text);
	--quiz-option-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
	--quiz-option-hover-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
	--quiz-option-checked-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	--quiz-option-checked-border: var(--proposal-accent);
	--quiz-option-checked-bg: color-mix(in srgb, var(--proposal-accent) 18%, var(--proposal-surface));
	--quiz-option-checked-border-width: 1px 1px 1px 2px;
	--quiz-option-checked-padding: 10px 12px 10px 11px;
}

html[data-ui-theme='light']
	.quiz-runtime
	:is(
		.quiz-runtime__field > input,
		.quiz-runtime__field > select,
		.quiz-runtime__field > textarea,
		.quiz-runtime__repeater-table :is(input, select)
	) {
	background: var(--proposal-surface-soft);
}

body.proposal-public-page > .topbar-wrapper,
body.proposal-public-page > #back-button {
	display: none !important;
}

body.proposal-public-page.offline .shd-offline-banner {
	display: none;
}

.quiz-runtime__shell {
	display: grid;
	grid-template-columns: minmax(220px, 0.58fr) minmax(0, 1.42fr);
	width: min(980px, 100%);
	height: min(640px, calc(100vh - 32px));
	overflow: hidden;
	border: 1px solid var(--proposal-border);
	border-radius: 18px;
	background: var(--proposal-surface);
	box-shadow: var(--quiz-runtime-shell-shadow, var(--ui-card-depth-shadow));
}
.quiz-runtime__shell:has(.quiz-runtime__screen--grouped-catalog:not([hidden])) {
	width: min(1180px, 100%);
}

.quiz-runtime__panel {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	padding: 28px 30px 24px;
	overflow: hidden;
	background: var(--proposal-surface);
}

.quiz-runtime__state,
.quiz-runtime__inline-state {
	display: grid;
	gap: 10px;
	align-content: center;
	justify-items: start;
	min-width: 0;
	min-height: 180px;
	padding: 20px;
	border: 1px solid color-mix(in srgb, var(--proposal-danger) 35%, var(--proposal-border));
	border-radius: var(--proposal-radius);
	background: color-mix(in srgb, var(--proposal-danger) 7%, var(--proposal-surface));
	color: var(--proposal-text);
}

.quiz-runtime__state p {
	max-width: 48rem;
	margin: 0;
	color: var(--proposal-muted);
	line-height: 1.5;
}

.quiz-runtime__state .pb-btn {
	min-height: 44px;
}

.quiz-runtime__inline-state {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	min-height: 0;
	margin-bottom: 12px;
	padding: 10px 12px;
	font-size: 12px;
}

.quiz-runtime__inline-state .pb-btn {
	min-height: 44px;
}

.quiz-runtime__brand,
.quiz-runtime__meta,
.quiz-runtime__actions {
	display: flex;
	align-items: center;
}
.quiz-runtime__hero {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 24px;
	border-right: 1px solid var(--quiz-hero-border);
	background: var(--quiz-hero-bg);
}
.quiz-runtime__brand {
	display: grid;
	min-width: 0;
	justify-items: start;
	gap: 12px;
}
.quiz-runtime__brand > img {
	width: 110px;
	height: 110px;
	object-fit: contain;
	border-radius: 12px;
}
.quiz-runtime__computed {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 14px;
	border: 1px solid color-mix(in srgb, var(--proposal-accent) 24%, var(--proposal-border));
	border-radius: 10px;
	background: color-mix(in srgb, var(--proposal-accent) 7%, var(--proposal-surface));
}
.quiz-runtime__computed output {
	color: var(--proposal-accent);
	font-size: 1.25rem;
	font-weight: 700;
}
.quiz-runtime__brand > div {
	display: grid;
	gap: 5px;
}
.quiz-runtime__brand strong {
	overflow-wrap: anywhere;
	color: var(--proposal-text);
	font:
		650 18px/1.15 'IBM Plex Sans Condensed',
		sans-serif;
	letter-spacing: -0.01em;
}
.quiz-runtime__brand span,
.quiz-runtime__progress-copy,
.quiz-runtime__draft-state {
	color: var(--proposal-muted);
	font-size: 11px;
}
.quiz-runtime__lead {
	max-width: 28rem;
	margin: auto 0 24px;
	color: var(--proposal-text);
	font-size: 14px;
	line-height: 1.5;
}
.quiz-runtime__value-proposition {
	max-width: 28rem;
	margin: -12px 0 24px;
	color: var(--quiz-runtime-description);
	font-size: 13px;
	line-height: 1.5;
}
.quiz-runtime__hero-footer {
	display: grid;
	gap: 10px;
}
.quiz-runtime__meta {
	justify-content: flex-end;
	gap: 10px;
	white-space: nowrap;
}
.quiz-runtime__hero .quiz-runtime__meta {
	justify-content: space-between;
}
.quiz-runtime__draft-state {
	position: fixed;
	z-index: 20;
	left: 50%;
	bottom: 32px;
	padding: 7px 10px;
	border: 1px solid var(--proposal-border);
	border-radius: 999px;
	background: var(--proposal-surface-soft);
	box-shadow: var(--ui-card-depth-shadow);
	transform: translateX(-50%);
}
.quiz-runtime__progress-copy {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	color: var(--proposal-accent);
	font-size: 13px;
	font-weight: 700;
}
.quiz-runtime__progress-copy span {
	color: var(--quiz-runtime-description);
	font-weight: 500;
}
.quiz-runtime__progress {
	grid-column: 1 / -1;
	overflow: hidden;
	height: 6px;
	border-radius: 999px;
	background: var(--quiz-progress-track);
}
.quiz-runtime__progress-bar {
	display: block;
	height: 100%;
	width: var(--quiz-progress, 0%);
	border-radius: 999px;
	background: var(--proposal-accent);
	transition: width 0.24s ease;
}
.quiz-runtime__form {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
	overflow: hidden;
}
.quiz-runtime__honeypot {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.quiz-runtime__honeypot input {
	width: 1px;
	height: 1px;
}
.quiz-runtime__captcha {
	display: grid;
	gap: 8px;
	max-width: 460px;
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--proposal-border);
	color: var(--proposal-text);
	font-size: 12px;
	font-weight: 600;
}
.quiz-runtime__captcha-topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.quiz-runtime__captcha-topline > label {
	color: var(--proposal-text);
}
.quiz-runtime__captcha-visual {
	display: grid;
	grid-template-columns: minmax(0, 260px) minmax(140px, 1fr);
	align-items: center;
	gap: 10px;
}
.quiz-runtime__captcha-visual img {
	display: block;
	width: min(260px, 100%);
	height: 46px;
	object-fit: cover;
	border: 1px solid var(--quiz-field-border);
	border-radius: 10px;
	background: var(--proposal-surface);
}
.quiz-runtime__captcha-refresh {
	min-height: 32px;
	padding: 0 10px;
	border: 1px solid var(--quiz-btn-border);
	border-radius: 999px;
	background: var(--quiz-btn-bg);
	color: var(--proposal-text);
	font: inherit;
	cursor: pointer;
}
.quiz-runtime__captcha-refresh:hover {
	border-color: var(--quiz-btn-hover-border);
	background: var(--quiz-btn-hover-bg);
}
.quiz-runtime__captcha-visual > input {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--quiz-field-border);
	border-radius: 10px;
	padding: 10px 12px;
	background: var(--proposal-surface);
	color: var(--proposal-text);
	font: 400 14px/1.4 inherit;
}
.quiz-runtime__captcha-visual > input:focus {
	border-color: var(--proposal-accent);
	outline: none;
	box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--proposal-accent) 32%, transparent);
}
.quiz-runtime__screen:where(:not([hidden])) {
	display: grid;
	flex: 1 1 auto;
	grid-template-rows: auto minmax(0, 1fr);
	min-height: 0;
	overflow: hidden;
}
.quiz-runtime__intro {
	max-width: 620px;
}
.quiz-runtime__intro h1 {
	margin: 0;
	color: var(--proposal-text);
	font:
		700 clamp(26px, 3vw, 32px) / 1.12 'IBM Plex Sans Condensed',
		sans-serif;
	letter-spacing: -0.018em;
}
.quiz-runtime__intro h1 + p {
	margin-top: 8px;
}
.quiz-runtime__intro p {
	max-width: 560px;
	margin: 0;
	color: var(--quiz-runtime-description);
	font-size: 14px;
	line-height: 1.5;
}
.quiz-runtime__blocks {
	display: grid;
	align-content: start;
	gap: 24px;
	min-height: 0;
	max-width: 680px;
	margin-top: 24px;
	overflow-y: auto;
}
.quiz-runtime__screen--grouped-catalog .quiz-runtime__blocks {
	max-width: 900px;
}
.quiz-runtime__content {
	color: var(--proposal-text);
	line-height: 1.5;
	white-space: pre-wrap;
}
.quiz-runtime__field {
	display: grid;
	gap: 5px;
	color: var(--proposal-muted);
	font-size: 12px;
	font-weight: 600;
}
.quiz-runtime__field--grouped {
	gap: 17px;
}
.quiz-runtime__field-title,
.quiz-runtime__block-title,
.quiz-runtime__option-group h3 {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--proposal-text);
}
.quiz-runtime__option-title {
	color: var(--proposal-text);
}
.quiz-runtime__block-meta {
	display: grid;
	gap: 0;
}
.quiz-runtime__description,
.quiz-runtime__hint,
.quiz-runtime__optional,
.quiz-runtime__option-meta {
	color: var(--quiz-runtime-description);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
}
.quiz-runtime__optional {
	font-size: 11px;
}
.quiz-runtime__field > input,
.quiz-runtime__field > select,
.quiz-runtime__field > textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: 44px;
	border: 1px solid var(--quiz-field-border);
	border-radius: 10px;
	padding: 10px 12px;
	background: var(--proposal-surface);
	color: var(--proposal-text);
	font: 400 14px/1.4 inherit;
}
.quiz-runtime__field > :is(input, select, textarea):focus {
	border-color: var(--proposal-accent);
	outline: none;
	box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--proposal-accent) 32%, transparent);
}
.quiz-runtime__options {
	columns: 2;
	column-gap: 8px;
}
.quiz-runtime__options.is-grouped {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	columns: auto;
}
.quiz-runtime__option-group {
	min-width: 0;
}
.quiz-runtime__option-group h3 {
	margin: 0 0 10px;
}
.quiz-runtime__option-group-items {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
.quiz-runtime__option {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	align-items: center;
	column-gap: 10px;
	width: 100%;
	min-height: 44px;
	margin: 0 0 8px;
	padding: 10px 12px;
	break-inside: avoid;
	border: 1px solid var(--quiz-option-border);
	border-radius: 10px;
	background: var(--quiz-option-bg);
	color: var(--proposal-text);
	cursor: pointer;
	box-shadow: var(--quiz-option-shadow);
	transition:
		border-color 0.15s ease,
		background 0.15s ease,
		box-shadow 0.15s ease,
		transform 0.15s ease;
}
.quiz-runtime__option:hover {
	border-color: var(--quiz-option-hover-border);
	background: var(--quiz-option-hover-bg);
	box-shadow: var(--quiz-option-hover-shadow);
	transform: translateY(-1px);
}
.quiz-runtime__option:has(input:checked) {
	border-color: var(--quiz-option-checked-border);
	border-width: var(--quiz-option-checked-border-width);
	padding: var(--quiz-option-checked-padding);
	background: var(--quiz-option-checked-bg);
	box-shadow: var(--quiz-option-checked-shadow);
}
.quiz-runtime__option.is-required {
	border-style: dashed;
	cursor: default;
}
.quiz-runtime__required-reason {
	color: var(--proposal-accent);
}
.quiz-runtime__option:has(input:focus-visible) {
	border-color: var(--proposal-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--proposal-accent) 24%, transparent);
}
.quiz-runtime__option input {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: var(--proposal-accent);
}
html[data-ui-theme='light'] .quiz-runtime__option input[type='radio'] {
	box-sizing: border-box;
	appearance: none;
	display: grid;
	place-content: center;
	border: 2px solid var(--proposal-border-strong);
	border-radius: 50%;
	background: var(--proposal-surface);
}
html[data-ui-theme='light'] .quiz-runtime__option input[type='radio']::before {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--proposal-surface);
	content: '';
	transform: scale(0);
	transition: transform 0.12s ease;
}
html[data-ui-theme='light'] .quiz-runtime__option input[type='radio']:checked {
	border-color: var(--proposal-accent);
	background: var(--proposal-accent);
}
html[data-ui-theme='light'] .quiz-runtime__option input[type='radio']:checked::before {
	transform: scale(1);
}
.quiz-runtime__option:has(.quiz-runtime__option-meta) {
	align-items: start;
}
.quiz-runtime__option:has(.quiz-runtime__option-meta) input {
	margin-top: 2px;
}
.quiz-runtime__option input:focus-visible {
	outline: none;
}
.quiz-runtime__option-copy {
	display: grid;
	min-width: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
}
.quiz-runtime__repeater {
	display: grid;
	gap: 10px;
}
.quiz-runtime__repeater-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--proposal-border);
	border-radius: 14px;
}
.quiz-runtime__repeater-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 520px;
}
.quiz-runtime__repeater-table th,
.quiz-runtime__repeater-table td {
	padding: 7px;
	border-bottom: 1px solid var(--proposal-border);
	text-align: left;
	vertical-align: middle;
}
.quiz-runtime__repeater-table th {
	color: var(--proposal-muted);
	font-size: 12px;
	font-weight: 600;
	background: var(--proposal-surface-soft);
}
.quiz-runtime__repeater-table tbody tr:last-child td {
	border-bottom: 0;
}
.quiz-runtime__repeater-table :is(input, select) {
	width: 100%;
	box-sizing: border-box;
	min-height: 30px;
	border: 1px solid var(--proposal-border);
	border-radius: 8px;
	padding: 5px 8px;
	background: var(--proposal-surface);
	color: var(--proposal-text);
}
.quiz-runtime__repeater-table :is(input, select):focus {
	border-color: var(--proposal-accent);
	outline: none;
	box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--proposal-accent) 32%, transparent);
}
.quiz-runtime__repeater-actions {
	width: 1%;
	white-space: nowrap;
}
.quiz-runtime__repeater-actions .icon-btn {
	display: flex !important;
	flex: 0 0 28px !important;
	width: 28px !important;
	min-width: 28px !important;
	height: 28px !important;
	min-height: 28px !important;
	padding: 0 !important;
	line-height: 0 !important;
}
.quiz-runtime__repeater-actions .icon-btn .shd-svg-holder,
.quiz-runtime__repeater-actions .icon-btn .shd-svg-icon,
.quiz-runtime__repeater-actions .icon-btn svg {
	display: block !important;
	width: 15px !important;
	height: 15px !important;
}
.quiz-runtime__repeater [data-quiz-add-row] {
	justify-self: start;
	height: 28px;
	min-height: 28px;
	padding: 0 7px;
	border-color: var(--ui-border-strong);
	border-radius: 8px;
	background: var(--ui-surface-soft);
	color: var(--ui-text);
	font-size: 12px;
	font-weight: 600;
}
.quiz-runtime__repeater [data-quiz-add-row]::before {
	margin-right: 5px;
	content: '+';
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
}
.quiz-runtime__repeater [data-quiz-add-row]:hover {
	border-color: var(--app-focus-border);
	background: var(--ui-surface-hover);
}
.quiz-runtime__actions {
	justify-content: flex-end;
	gap: 8px;
	margin-top: 10px;
	padding-top: 14px;
	border-top: 1px solid var(--proposal-border);
}
.quiz-runtime__actions .pb-btn {
	min-width: 104px;
	min-height: 44px;
	height: auto;
	padding: 0 18px;
	border: 1px solid var(--quiz-btn-border);
	border-radius: 10px;
	background: var(--quiz-btn-bg);
	color: var(--proposal-text);
	font-weight: 600;
	transition:
		background 0.15s ease,
		border-color 0.15s ease;
}
.quiz-runtime__actions .pb-btn:hover {
	border-color: var(--quiz-btn-hover-border);
	background: var(--quiz-btn-hover-bg);
}
.quiz-runtime__actions [data-quiz-next],
.quiz-runtime__actions [data-quiz-submit] {
	border-color: var(--quiz-btn-primary-border);
	background: var(--quiz-btn-primary-bg);
	color: var(--quiz-cta-text, var(--quiz-btn-primary-text));
	font-weight: 700;
}
.quiz-runtime__actions [data-quiz-next]:hover,
.quiz-runtime__actions [data-quiz-submit]:hover {
	border-color: var(--quiz-btn-primary-border);
	background: color-mix(in srgb, var(--quiz-btn-primary-bg) 88%, #000000 12%);
	color: var(--quiz-cta-text, var(--quiz-btn-primary-text));
	opacity: 1;
}
.quiz-runtime__actions .pb-btn:disabled {
	cursor: not-allowed;
	opacity: 0.5;
}

.quiz-runtime__final-note {
	display: grid;
	align-content: start;
	justify-items: start;
	gap: 10px;
	max-width: 680px;
	margin-top: 18px;
	padding: 14px 16px;
	border: 1px solid color-mix(in srgb, var(--quiz-cta-bg) 30%, var(--proposal-border));
	border-radius: 12px;
	background: color-mix(in srgb, var(--quiz-cta-bg) 8%, var(--proposal-surface));
}
.quiz-runtime__final-note p {
	margin: 0;
	color: var(--proposal-text);
	font-size: 13px;
	line-height: 1.45;
}
.quiz-runtime__final-note .pb-btn {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0 16px;
	border: 1px solid color-mix(in srgb, var(--quiz-cta-bg) 58%, var(--proposal-border));
	border-radius: 10px;
	background: transparent;
	color: var(--proposal-text);
	font-weight: 650;
	text-decoration: none;
	transition:
		background 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease;
}
.quiz-runtime__final-note .pb-btn:hover {
	border-color: var(--quiz-cta-bg);
	background: color-mix(in srgb, var(--quiz-cta-bg) 12%, transparent);
	color: var(--proposal-text);
}

@media (min-width: 721px) and (max-width: 980px) {
	#proposals :is(button, .pb-btn, .btn, .icon-btn, [role='button']) {
		min-height: 44px;
	}

	#proposals :is(.icon-btn, [role='button']) {
		min-width: 44px;
	}

	#proposals :is(input:not([type='checkbox']):not([type='radio']), select, textarea) {
		min-height: 44px;
	}

	.quiz-runtime__shell {
		grid-template-columns: minmax(190px, 0.48fr) minmax(0, 1.52fr);
		width: min(920px, 100%);
	}
	.quiz-runtime__hero {
		padding: 20px;
	}
	.quiz-runtime__panel {
		padding: 22px 24px 20px;
	}
	.quiz-runtime__options {
		columns: 1;
	}
}

@media (max-width: 720px) {
	body.proposal-public-page #page-footer {
		display: none;
	}

	.proposal-result-page {
		padding: 10px;
	}
	.proposal-result-document__head {
		flex-direction: column;
		gap: 14px;
		padding: 16px;
	}
	.proposal-result-document__head > .pb-btn {
		width: 100%;
		justify-content: center;
	}
	.proposal-result-document [data-proposal-section='configuration'] > .card {
		padding: 14px;
	}
	.quiz-runtime {
		display: block;
		height: 100dvh;
		min-height: 0;
		padding: 0;
		overflow: hidden;
	}
	.quiz-runtime__shell {
		grid-template-columns: 1fr;
		grid-template-rows: auto minmax(0, 1fr);
		align-content: start;
		width: 100%;
		min-height: 0;
		height: 100%;
		border-width: 0;
		border-radius: 0;
		box-shadow: none;
	}
	.quiz-runtime__hero {
		min-height: 0;
		padding: 18px 16px;
		border-right: 0;
		border-bottom: 1px solid var(--proposal-border);
	}
	.quiz-runtime__brand {
		display: flex;
		align-items: flex-start;
		gap: 10px;
	}
	.quiz-runtime__brand > img {
		width: 34px;
		height: 34px;
		border-radius: 8px;
	}
	.quiz-runtime__brand strong {
		font-size: 18px;
	}
	.quiz-runtime__lead {
		margin: 16px 0 0;
		font-size: 13px;
	}
	.quiz-runtime__value-proposition {
		margin: 8px 0 0;
		font-size: 13px;
	}
	.quiz-runtime__hero-footer {
		position: fixed;
		z-index: 10;
		right: 0;
		bottom: 0;
		left: 0;
		box-sizing: border-box;
		height: calc(49px + env(safe-area-inset-bottom));
		gap: 8px;
		padding: 10px 16px max(10px, env(safe-area-inset-bottom));
		border-top: 1px solid var(--proposal-border);
		background: color-mix(in srgb, var(--proposal-background) 86%, var(--proposal-surface));
	}
	.quiz-runtime__panel {
		min-height: 0;
		padding: 16px 16px var(--quiz-runtime-mobile-panel-padding-bottom);
	}
	.quiz-runtime__state {
		min-height: 150px;
		padding: 16px;
	}
	.quiz-runtime__inline-state {
		grid-template-columns: 1fr;
	}
	.quiz-runtime__form {
		min-height: 0;
	}
	.quiz-runtime__screen:where(:not([hidden])) {
		display: block;
		overflow-y: auto;
	}
	.quiz-runtime__blocks {
		min-height: auto;
		overflow: visible;
	}
	.quiz-runtime__options {
		columns: 1;
	}
	.quiz-runtime__options.is-grouped {
		grid-template-columns: 1fr;
	}
	.quiz-runtime__option-group-items {
		grid-template-columns: 1fr;
	}
	.quiz-runtime__option {
		min-height: 44px;
	}
	.quiz-runtime__captcha-visual {
		grid-template-columns: 1fr;
		align-items: start;
	}
	.quiz-runtime__captcha-visual img,
	.quiz-runtime__captcha-visual > input {
		width: min(260px, 100%);
	}
	.quiz-runtime__actions {
		position: fixed;
		z-index: 11;
		right: 0;
		bottom: calc(var(--quiz-runtime-mobile-actions-bottom-offset) + env(safe-area-inset-bottom));
		left: 0;
		justify-content: stretch;
		margin: 0;
		padding: 10px 16px;
		border-top: 1px solid var(--proposal-border);
		background: var(--proposal-surface);
	}
	.quiz-runtime__draft-state {
		bottom: calc(49px + env(safe-area-inset-bottom) + 24px);
	}
	.quiz-runtime__actions .pb-btn {
		flex: 1 1 0;
		min-width: 0;
		min-height: 44px;
	}
	.quiz-runtime__final-note .pb-btn {
		width: 100%;
	}
	.proposal-public-unavailable {
		padding: 16px;
	}
	.proposal-public-unavailable__card {
		padding: 24px 18px;
	}
	.quiz-runtime__repeater-table-wrap {
		overflow: visible;
		border: 0;
	}
	.quiz-runtime__repeater-table {
		min-width: 0;
		border-collapse: separate;
		border-spacing: 0 8px;
	}
	.quiz-runtime__repeater-table thead {
		display: none;
	}
	.quiz-runtime__repeater-table tbody,
	.quiz-runtime__repeater-table tr {
		display: grid;
		gap: 8px;
	}
	.quiz-runtime__repeater-table tr {
		position: relative;
		padding: 12px;
		border: 1px solid var(--proposal-border);
		border-radius: var(--proposal-radius);
		background: var(--proposal-surface-soft);
	}
	.quiz-runtime__repeater-table td {
		display: grid;
		gap: 5px;
		padding: 0;
		border: 0;
	}
	.quiz-runtime__repeater-table td::before {
		content: attr(data-label);
		color: var(--proposal-muted);
		font-size: 11px;
	}
	.quiz-runtime__repeater-table td.quiz-runtime__repeater-actions {
		position: absolute;
		top: 8px;
		right: 8px;
		width: auto;
	}
	.quiz-runtime__repeater-table td.quiz-runtime__repeater-actions::before {
		display: none;
	}
	.quiz-runtime__repeater-table :is(input, select) {
		min-height: 30px;
	}
}

@media (max-width: 720px) {
	#proposals :is(button, .pb-btn, .btn, .icon-btn, [role='button']) {
		min-height: 44px;
	}

	#proposals :is(.icon-btn, [role='button']) {
		min-width: 44px;
	}

	#proposals :is(input:not([type='checkbox']):not([type='radio']), select, textarea) {
		min-height: 44px;
	}
}

#proposals .proposals-module__pagination {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	margin: 12px 0 28px;
	padding: 8px 10px;
	border: 1px solid var(--ui-border);
	border-radius: 10px;
	background: var(--ui-surface-soft);
	color: var(--ui-text-dim);
	font-size: 12px;
	line-height: 1.2;
}

#proposals .proposals-module__pagination-summary {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#proposals .proposals-module__pagination-controls {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 6px;
}

#proposals .proposals-module__pagination .pb-btn {
	min-width: 76px;
	height: 32px;
	padding: 0 12px;
	border-color: var(--ui-border-strong);
	background: var(--ui-surface);
	color: var(--ui-text);
	font-size: 12px;
	font-weight: 600;
}

#proposals .proposals-module__pagination .pb-btn:hover {
	border-color: var(--ui-accent);
	background: var(--ui-surface-hover);
}

#proposals .proposals-module__pagination .pb-btn.is-disabled {
	border-color: var(--ui-border);
	background: var(--ui-surface-2, var(--ui-surface-soft));
	color: var(--ui-text-dim);
	cursor: default;
}

@media (max-width: 720px) {
	#proposals .proposals-module__pagination {
		align-items: stretch;
		flex-direction: column;
		gap: 8px;
		margin-bottom: 20px;
	}

	#proposals .proposals-module__pagination-summary {
		text-align: center;
	}

	#proposals .proposals-module__pagination-controls {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#proposals .proposals-module__pagination .pb-btn {
		width: 100%;
		min-width: 0;
		height: 44px;
	}
}

.shd-module-dependency-map {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.shd-module-dependency-edge {
	align-items: center;
	border: 0;
	cursor: pointer;
	display: grid;
	gap: 6px;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	text-align: start;
	width: 100%;
}
.shd-module-dependency-edge span {
	color: var(--text-muted, var(--ui-text-dim));
	font-size: 12px;
	text-align: center;
}
.shd-module-dependency-edge strong {
	overflow-wrap: anywhere;
}
.proposal-document-group th {
	background: color-mix(in srgb, var(--accent, var(--ui-accent)) 8%, transparent);
	font-size: 12px;
	letter-spacing: 0.04em;
	text-align: start;
	text-transform: uppercase;
}

.proposal-masonry-grid {
	display: block;
	column-gap: 10px;
	column-width: min(340px, 100%);
}

.proposal-masonry-grid > * {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 10px;
	break-inside: avoid;
}

#proposals .proposal-template-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	column-count: initial;
	column-width: auto;
	gap: 10px;
}

#proposals .proposal-template-grid > * {
	margin: 0;
}

#proposals .proposal-template-card__meta {
	gap: 7px;
}

#proposals .proposal-template-card__counts {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
}

#proposals .proposal-template-card__counts > span {
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

#proposals .proposal-template-card__counts > span + span::before {
	margin: 0 5px;
	content: '·';
}

#proposals .proposal-template-grid.is-proposal-masonry {
	display: block;
	position: relative;
	min-height: 0;
	column-count: initial;
	column-width: auto;
}

#proposals .proposal-template-grid.is-proposal-masonry > .proposal-template-card {
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
}

@media (max-width: 720px) {
	.proposal-masonry-grid,
	#proposals .proposal-template-grid {
		column-count: 1;
		column-width: auto;
	}
}

.shd-module-schema-error {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ui-danger, var(--ui-danger-icon-text)) 35%, transparent) !important;
	outline: 2px solid var(--ui-danger, var(--ui-danger-icon-text)) !important;
}

@media (prefers-reduced-motion: reduce) {
	.proposal-public-page *,
	.proposal-public-page *::before,
	.proposal-public-page *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
