/* Declaration participant app (vanilla JS) */
.dcl-app {
	max-width: 640px;
	margin: 0 auto;
	padding: 1rem;
	font-size: 1rem;
	line-height: 1.5;
	color: #1d2327;
}

.dcl-panel {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	padding: 1.5rem;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.dcl-alert {
	padding: 0.75rem 1rem;
	border-radius: 6px;
	margin-bottom: 1rem;
}

.dcl-alert-error {
	background: #fcf0f1;
	border: 1px solid #d63638;
	color: #1d2327;
}

.dcl-label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.4rem;
}

.dcl-input {
	width: 100%;
	box-sizing: border-box;
	padding: 0.6rem 0.75rem;
	margin-bottom: 0.75rem;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	font: inherit;
}

.dcl-input:focus {
	border-color: #2271b1;
	outline: 2px solid rgba(34, 113, 177, 0.25);
	outline-offset: 0;
}

.dcl-textarea {
	min-height: 4.5rem;
	resize: vertical;
	margin-bottom: 0;
}

.dcl-btn {
	display: inline-block;
	padding: 0.55rem 1.1rem;
	border-radius: 4px;
	font: inherit;
	cursor: pointer;
	border: 1px solid transparent;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.dcl-btn-primary {
	background: #2271b1;
	border-color: #2271b1;
	color: #fff;
}

.dcl-btn-primary:hover:not(:disabled) {
	background: #135e96;
	border-color: #135e96;
}

.dcl-btn-primary:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.dcl-btn-choice {
	background: #f6f7f7;
	border-color: #8c8f94;
	color: #1d2327;
}

.dcl-btn-choice:hover {
	background: #f0f0f1;
}

.dcl-btn-choice.dcl-choice-selected {
	background: #00a32a;
	border-color: #007017;
	color: #fff;
}

.dcl-progress {
	font-size: 0.9rem;
	color: #50575e;
	margin: 0 0 1rem;
}

.dcl-statement {
	margin-bottom: 1.25rem;
	color: #000;
	font-size: 1.05rem;
}

.dcl-statement p {
	margin: 0.5em 0;
}

.dcl-statement p:first-child {
	margin-top: 0;
}

.dcl-statement p:last-child {
	margin-bottom: 0;
}

.dcl-statement strong,
.dcl-statement b {
	font-weight: 700;
}

.dcl-statement em,
.dcl-statement i {
	font-style: italic;
}

.dcl-statement ul,
.dcl-statement ol {
	margin: 0.5em 0;
	padding-left: 1.5em;
}

.dcl-followup-text p {
	margin: 0.35em 0;
}

.dcl-followup-text strong,
.dcl-followup-text b {
	font-weight: 700;
}

.dcl-followup-text em,
.dcl-followup-text i {
	font-style: italic;
}

.dcl-prompt {
	margin-bottom: 1rem;
}

.dcl-check {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
}

.dcl-check input {
	margin-top: 0.2rem;
	width: 1.1rem;
	height: 1.1rem;
}

.dcl-yesno {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.dcl-scale {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
}

.dcl-btn-scale {
	display: block;
	width: 100%;
	text-align: left;
	white-space: normal;
	line-height: 1.4;
	padding: 0.75rem 1rem;
	background: #f6f7f7;
	border-color: #8c8f94;
	color: #1d2327;
}

.dcl-btn-scale:hover {
	background: #f0f0f1;
}

.dcl-btn-scale.dcl-choice-selected {
	background: #00a32a;
	border-color: #007017;
	color: #fff;
}

.dcl-btn-scale p {
	margin: 0.25em 0;
}

.dcl-btn-scale p:first-child {
	margin-top: 0;
}

.dcl-btn-scale p:last-child {
	margin-bottom: 0;
}

.dcl-followup {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid #dcdcde;
}

.dcl-followup.dcl-hidden {
	display: none;
}

.dcl-followup-text {
	margin-bottom: 0.75rem;
	color: #000;
}

.dcl-thanks-lead {
	font-weight: 600;
	font-size: 1.15rem;
	margin: 0 0 0.5rem;
}

.dcl-loading {
	margin: 0;
	color: #50575e;
}
