.lj-structured-list {
	--lj-text-color: var(--theme-text-color, currentColor);
	--lj-muted-color: var(--theme-text-color, currentColor);
	--lj-heading-color: var(--theme-headings-color, currentColor);
	--lj-surface-color: var(--theme-palette-color-8, transparent);
	--lj-surface-alt-color: var(--theme-palette-color-7, transparent);
	--lj-border-color: var(--theme-border-color, currentColor);
	--lj-accent-color: var(--theme-palette-color-1, currentColor);
	--lj-link-color: var(--theme-link-initial-color, currentColor);
	--lj-link-hover-color: var(--theme-link-hover-color, currentColor);
	--lj-focus-color: var(--theme-form-field-border-focus-color, var(--theme-palette-color-1, currentColor));
	--lj-form-text-color: var(--theme-form-text-initial-color, var(--lj-text-color));
	--lj-form-text-focus-color: var(--theme-form-text-focus-color, var(--lj-text-color));
	--lj-form-border-color: var(--theme-form-field-border-initial-color, var(--lj-border-color));
	--lj-form-border-focus-color: var(--theme-form-field-border-focus-color, var(--lj-focus-color));
	--lj-form-surface-color: var(--theme-form-field-background-initial-color, var(--lj-surface-color));
	--lj-form-surface-focus-color: var(--theme-form-field-background-focus-color, var(--lj-surface-color));
	--lj-radius: var(--theme-form-field-border-radius, var(--theme-button-border-radius, 3px));
	--lj-space-xs: 0.45rem;
	--lj-space-sm: 0.8rem;
	--lj-space-md: 1.25rem;
	--lj-space-lg: 2rem;
	color: var(--lj-text-color);
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

:root[data-color-mode*="dark"] .lj-structured-list {
	--lj-text-color: var(--theme-palette-color-3, currentColor);
	--lj-muted-color: var(--theme-palette-color-3, currentColor);
	--lj-heading-color: var(--theme-palette-color-4, currentColor);
	--lj-surface-color: var(--theme-palette-color-8, transparent);
	--lj-surface-alt-color: var(--theme-palette-color-6, transparent);
	--lj-border-color: var(--theme-palette-color-5, currentColor);
	--lj-accent-color: var(--theme-palette-color-1, currentColor);
	--lj-link-color: var(--theme-palette-color-1, currentColor);
	--lj-link-hover-color: var(--theme-palette-color-2, currentColor);
	--lj-focus-color: var(--theme-palette-color-1, currentColor);
	--lj-form-text-color: var(--theme-palette-color-3, currentColor);
	--lj-form-text-focus-color: var(--theme-palette-color-3, currentColor);
	--lj-form-border-color: var(--theme-palette-color-5, currentColor);
	--lj-form-border-focus-color: var(--theme-palette-color-1, currentColor);
	--lj-form-surface-color: var(--theme-palette-color-8, transparent);
	--lj-form-surface-focus-color: var(--theme-palette-color-8, transparent);
}

@media (prefers-color-scheme: dark) {
	:root[data-color-mode*="os-default"] .lj-structured-list {
		--lj-text-color: var(--theme-palette-color-3, currentColor);
		--lj-muted-color: var(--theme-palette-color-3, currentColor);
		--lj-heading-color: var(--theme-palette-color-4, currentColor);
		--lj-surface-color: var(--theme-palette-color-8, transparent);
		--lj-surface-alt-color: var(--theme-palette-color-6, transparent);
		--lj-border-color: var(--theme-palette-color-5, currentColor);
		--lj-accent-color: var(--theme-palette-color-1, currentColor);
		--lj-link-color: var(--theme-palette-color-1, currentColor);
		--lj-link-hover-color: var(--theme-palette-color-2, currentColor);
		--lj-focus-color: var(--theme-palette-color-1, currentColor);
		--lj-form-text-color: var(--theme-palette-color-3, currentColor);
		--lj-form-text-focus-color: var(--theme-palette-color-3, currentColor);
		--lj-form-border-color: var(--theme-palette-color-5, currentColor);
		--lj-form-border-focus-color: var(--theme-palette-color-1, currentColor);
		--lj-form-surface-color: var(--theme-palette-color-8, transparent);
		--lj-form-surface-focus-color: var(--theme-palette-color-8, transparent);
	}
}

.lj-structured-list,
.lj-structured-list * {
	box-sizing: border-box;
}

.lj-structured-list [hidden] {
	display: none;
}

.lj-structured-list .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.lj-structured-list__header {
	display: grid;
	gap: var(--lj-space-sm);
	margin-bottom: var(--lj-space-lg);
}

.lj-structured-list__title,
.lj-structured-list__section-title,
.lj-structured-list__item-title {
	color: var(--lj-heading-color);
	overflow-wrap: anywhere;
}

.lj-structured-list__title,
.lj-structured-list__section-title {
	margin-top: 0;
}

.lj-structured-list__intro > :first-child,
.lj-structured-list__description > :first-child,
.lj-structured-list__section-description > :first-child,
.lj-structured-list__notes > :first-child {
	margin-top: 0;
}

.lj-structured-list__intro > :last-child,
.lj-structured-list__description > :last-child,
.lj-structured-list__section-description > :last-child,
.lj-structured-list__notes > :last-child {
	margin-bottom: 0;
}

.lj-structured-list__description,
.lj-structured-list__section-description,
.lj-structured-list__subtitle,
.lj-structured-list__person-position,
.lj-structured-list__status {
	color: var(--lj-muted-color);
	opacity: 0.82;
}

.lj-structured-list__download {
	margin: var(--lj-space-xs) 0;
}

.lj-structured-list .lj-structured-list__download-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55em;
	min-height: var(--theme-button-min-height, var(--theme-form-field-height, 40px));
	padding: var(--theme-button-padding, 5px 20px);
	color: var(--theme-button-text-initial-color, inherit);
	border: var(--theme-button-border, none);
	border-radius: var(--theme-button-border-radius, 3px);
	background-color: var(--theme-button-background-initial-color, transparent);
	font-family: var(--theme-button-font-family, inherit);
	font-size: var(--theme-button-font-size, inherit);
	font-weight: var(--theme-button-font-weight, inherit);
	line-height: var(--theme-button-line-height, inherit);
	text-decoration: var(--theme-button-text-decoration, none);
}

.lj-structured-list .lj-structured-list__download-button:hover {
	color: var(--theme-button-text-hover-color, inherit);
	border-color: var(--theme-button-border-hover-color, currentColor);
	background-color: var(--theme-button-background-hover-color, transparent);
}

.lj-structured-list__search {
	display: grid;
	gap: var(--lj-space-xs);
	max-width: 42rem;
	margin-top: var(--lj-space-xs);
}

.lj-structured-list__search label {
	font-weight: 600;
	color: var(--lj-heading-color);
}

.lj-structured-list__search input[type="search"] {
	width: 100%;
	height: var(--theme-form-field-height, 40px);
	padding: var(--has-classic-forms, var(--theme-form-field-padding, 0 15px));
	color: var(--lj-form-text-color);
	border-width: var(--theme-form-field-border-width, 1px);
	border-style: var(--theme-form-field-border-style, solid);
	border-color: var(--lj-form-border-color);
	border-radius: var(--has-classic-forms, var(--theme-form-field-border-radius, 3px));
	background-color: var(--has-classic-forms, var(--lj-form-surface-color));
	font: inherit;
}

.lj-structured-list__search input[type="search"]:focus {
	color: var(--lj-form-text-focus-color);
	border-color: var(--lj-form-border-focus-color);
	background-color: var(--has-classic-forms, var(--lj-form-surface-focus-color));
	outline: 2px solid var(--lj-focus-color);
	outline-offset: 2px;
}

.lj-structured-list__status {
	margin: 0;
	font-size: 0.95em;
}

.lj-structured-list__section + .lj-structured-list__section {
	margin-top: var(--lj-space-lg);
}

.lj-structured-list__section-title {
	margin-bottom: var(--lj-space-sm);
}

.lj-structured-list__section-description {
	margin-bottom: var(--lj-space-md);
}

.lj-structured-list__grid {
	display: grid;
	grid-template-columns: repeat(var(--lj-columns, 2), minmax(0, 1fr));
	gap: var(--lj-space-md);
}

.lj-structured-list__card,
.lj-structured-list__compact-item {
	min-width: 0;
	border: 1px solid var(--lj-border-color);
	border-radius: var(--lj-radius);
	background: var(--lj-surface-color);
}

.lj-structured-list__card {
	display: flex;
	flex-direction: column;
	gap: var(--lj-space-md);
	padding: clamp(1rem, 2vw, 1.5rem);
}

.lj-structured-list__item-header {
	min-width: 0;
}

.lj-structured-list__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2em;
	min-height: 2em;
	margin-bottom: var(--lj-space-xs);
	padding: 0.25em 0.55em;
	color: var(--lj-heading-color);
	border: 1px solid var(--lj-border-color);
	border-radius: var(--lj-radius);
	background: var(--lj-surface-alt-color);
	font-weight: 700;
	line-height: 1;
}

.lj-structured-list__item-title {
	display: block;
	margin: 0;
	font-size: 1.05em;
	font-weight: 700;
	line-height: 1.35;
}

.lj-structured-list__subtitle {
	display: block;
	margin: var(--lj-space-xs) 0 0;
	font-size: 0.95em;
	overflow-wrap: anywhere;
}

.lj-structured-list__item-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--lj-space-md);
	min-width: 0;
}

.lj-structured-list__group {
	min-width: 0;
}

.lj-structured-list__group-label {
	margin: 0 0 var(--lj-space-xs);
	color: var(--lj-heading-color);
	font-weight: 700;
}

.lj-structured-list__people-list {
	display: grid;
	gap: var(--lj-space-xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.lj-structured-list__person-name,
.lj-structured-list__person-position {
	display: block;
	overflow-wrap: anywhere;
}

.lj-structured-list__person-name {
	font-weight: 600;
}

.lj-structured-list__person-position {
	font-size: 0.92em;
}

.lj-structured-list__contacts {
	display: grid;
	gap: var(--lj-space-xs);
}

.lj-structured-list__card .lj-structured-list__contacts {
	margin-top: auto;
}

.lj-structured-list__contact {
	display: grid;
	grid-template-columns: 1.1em minmax(0, 1fr);
	align-items: start;
	gap: 0.55em;
	min-width: 0;
}

.lj-structured-list__contact address {
	display: flex;
	flex-wrap: wrap;
	gap: 0 0.35em;
	min-width: 0;
	margin: 0;
	color: inherit;
	font: inherit;
	font-style: normal;
	overflow-wrap: anywhere;
}

.lj-structured-list__contact-label {
	font-weight: 600;
}

.lj-structured-list__icon {
	flex: 0 0 auto;
	width: 1.05em;
	height: 1.05em;
	margin-top: 0.2em;
	color: var(--lj-accent-color);
}

.lj-structured-list__contact a {
	min-width: 0;
	color: var(--lj-link-color);
	overflow-wrap: anywhere;
}

.lj-structured-list__contact a:hover {
	color: var(--lj-link-hover-color);
}

.lj-structured-list__contact--phone a {
	white-space: nowrap;
}

.lj-structured-list__notes {
	padding-top: var(--lj-space-sm);
	border-top: 1px solid var(--lj-border-color);
	overflow-wrap: anywhere;
}

.lj-structured-list :where(a, button, input):focus-visible {
	outline: 2px solid var(--lj-focus-color);
	outline-offset: 2px;
}

.lj-structured-list__table {
	width: 100%;
	margin: 0;
	color: var(--lj-text-color);
	border: 1px solid var(--lj-border-color);
	border-collapse: collapse;
	background: var(--lj-surface-color);
}

.lj-structured-list__table th,
.lj-structured-list__table td {
	min-width: 0;
	padding: var(--theme-table-padding, 1em 0.8em);
	border: 1px solid var(--theme-table-border-color, var(--lj-border-color));
	text-align: start;
	vertical-align: top;
	overflow-wrap: anywhere;
}

.lj-structured-list__table thead {
	color: var(--lj-heading-color);
	background: var(--lj-surface-alt-color);
}

.lj-structured-list__table thead th {
	font-weight: 700;
}

.lj-structured-list__table tbody tr:hover {
	background: var(--lj-surface-alt-color);
}

.lj-structured-list__table th[scope="row"] {
	color: var(--lj-heading-color);
	font-weight: 600;
}

.lj-structured-list__table-number {
	width: 4.5em;
	text-align: center;
}

.lj-structured-list__table .lj-structured-list__group-label {
	display: none;
}

.lj-structured-list__table .lj-structured-list__notes {
	margin-top: var(--lj-space-sm);
}

.lj-structured-list__compact-list {
	display: grid;
	gap: var(--lj-space-sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

.lj-structured-list__compact-item {
	display: grid;
	grid-template-columns: minmax(12rem, 0.7fr) minmax(0, 1.3fr);
	gap: var(--lj-space-md);
	padding: var(--lj-space-md);
}

.lj-structured-list__empty {
	margin: var(--lj-space-md) 0 0;
	padding: var(--lj-space-md);
	color: var(--lj-muted-color);
	border: 1px solid var(--lj-border-color);
	border-radius: var(--lj-radius);
	background: var(--lj-surface-alt-color);
}

@media (max-width: 767px) {
	.lj-structured-list__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.lj-structured-list__compact-item {
		grid-template-columns: minmax(0, 1fr);
	}

	.lj-structured-list__table {
		border: 0;
		background: transparent;
	}

	.lj-structured-list__table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.lj-structured-list__table,
	.lj-structured-list__table tbody,
	.lj-structured-list__table tr,
	.lj-structured-list__table th,
	.lj-structured-list__table td {
		display: block;
		width: 100%;
	}

	.lj-structured-list__table tbody {
		display: grid;
		gap: var(--lj-space-md);
	}

	.lj-structured-list__table tbody tr {
		padding: var(--lj-space-sm) var(--lj-space-md);
		border: 1px solid var(--lj-border-color);
		border-radius: var(--lj-radius);
		background: var(--lj-surface-color);
	}

	.lj-structured-list__table tbody tr:hover {
		background: var(--lj-surface-color);
	}

	.lj-structured-list__table th,
	.lj-structured-list__table td {
		padding: var(--lj-space-sm) 0;
		border: 0;
		text-align: start;
	}

	.lj-structured-list__table th + td,
	.lj-structured-list__table td + th,
	.lj-structured-list__table td + td {
		border-top: 1px solid var(--lj-border-color);
	}

	.lj-structured-list__table th::before,
	.lj-structured-list__table td::before {
		display: block;
		margin-bottom: var(--lj-space-xs);
		color: var(--lj-heading-color);
		content: attr(data-label);
		font-weight: 700;
	}

	.lj-structured-list__table-number {
		width: auto;
		text-align: start;
	}
}

@media print {
	.lj-structured-list__search,
	.lj-structured-list__status {
		display: none;
	}

	.lj-structured-list__card,
	.lj-structured-list__compact-item,
	.lj-structured-list__table tbody tr {
		break-inside: avoid;
	}
}
