.ecp-document {

	max-width: 100%;

	margin: 8px 0;

	background: transparent;

	border: none;

	border-radius: 0;

	box-shadow: none;

}

.ecp-document__row {

	display: flex;

	align-items: flex-start;

	justify-content: flex-start;

	gap: 8px;

	padding: 4px 0;

}

.ecp-document__left {

	display: flex;

	align-items: center;

	gap: 8px;

	min-width: 0;

	flex: 1;

}

.ecp-document__icon {

	font-size: 20px;

	line-height: 1;

	flex-shrink: 0;

}

.ecp-document__title {

	font-size: 15px;

	font-weight: 500;

	color: #1e293b;

	line-height: 1.4;

	text-decoration: none;

	overflow-wrap: break-word;

	word-break: break-word;

	position: relative;

	cursor: pointer;

	transition: color .2s ease;

}

a.ecp-document__title:hover {

	color: #2563eb;

	text-decoration: underline;

}

.ecp-document__title[data-overflow="true"]:hover::after {

	content: attr(data-title);

	position: absolute;

	bottom: calc(100% + 8px);

	left: 0;

	z-index: 100;

	width: max-content;

	max-width: min(340px, 80vw);

	padding: 8px 12px;

	background: #1e293b;

	color: #ffffff;

	font-size: 13px;

	font-weight: 400;

	line-height: 1.4;

	border-radius: 6px;

	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.15), 0 4px 6px -4px rgba(0, 0, 0, 0.1);

	pointer-events: none;

	white-space: normal;

	overflow-wrap: break-word;

	word-break: break-word;

	animation: ecp-tooltip-fade 0.15s ease forwards;

}

@keyframes ecp-tooltip-fade {

	from {

		opacity: 0;

		transform: translateY(4px);

	}

	to {

		opacity: 1;

		transform: translateY(0);

	}

}

.ecp-document__right {

	display: flex;

	align-items: center;

	gap: 12px;

	flex-shrink: 0;

}

.ecp-document__sig-badge {

	display: inline-flex;

	align-items: center;

	justify-content: center;

	width: 26px;

	height: 26px;

	padding: 0;

	margin: 0;

	background: transparent;

	border: none;

	outline: none;

	line-height: 1;

	color: #2563eb;

	cursor: pointer;

	flex-shrink: 0;

	transition: color .2s ease, transform .2s ease;

}

.ecp-document__sig-badge:hover {

	color: #1d4ed8;

	transform: scale(1.1);

}

.ecp-document__sig-icon {

	display: block;

	width: 26px;

	height: 26px;

	margin: 0;

	padding: 0;

}

.ecp-document__size {

	font-size: 13px;

	font-weight: 500;

	color: #64748b;

}

.ecp-document__download-button {

	display: inline-flex;

	align-items: center;

	justify-content: center;

	padding: 7px 16px;

	background: #2563eb;

	border: 1px solid #2563eb;

	border-radius: 6px;

	color: #ffffff;

	font-size: 13px;

	font-weight: 600;

	text-decoration: none;

	transition: all .2s ease;

}

.ecp-document__download-button:hover {

	background: #1d4ed8;

	border-color: #1d4ed8;

	color: #ffffff;

}

.ecp-document__download-button--sig {

	background: transparent;

	border: 1px solid #cbd5e1;

	color: #475569;

	font-weight: 500;

}

.ecp-document__download-button--sig:hover {

	background: #f1f5f9;

	border-color: #94a3b8;

	color: #1e293b;

}

/* Modal Window Styling */

.ecp-modal {

	position: fixed;

	top: 0;

	left: 0;

	right: 0;

	bottom: 0;

	z-index: 99999;

	display: flex;

	align-items: center;

	justify-content: center;

	padding: 16px;

	opacity: 0;

	visibility: hidden;

	transition: opacity .2s ease, visibility .2s ease;

}

.ecp-modal.is-active {

	opacity: 1;

	visibility: visible;

}

.ecp-modal__overlay {

	position: absolute;

	top: 0;

	left: 0;

	right: 0;

	bottom: 0;

	background: rgba(15, 23, 42, .6);

	backdrop-filter: blur(4px);

}

.ecp-modal__dialog {

	position: relative;

	width: 100%;

	max-width: 540px;

	max-height: calc(100vh - 32px);

	display: flex;

	flex-direction: column;

	background: #ffffff;

	border-radius: 16px;

	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);

	overflow: hidden;

	z-index: 1;

	transform: scale(.95);

	transition: transform .2s ease;

}

.ecp-modal.is-active .ecp-modal__dialog {

	transform: scale(1);

}

.ecp-modal__header {

	display: flex;

	align-items: center;

	justify-content: space-between;

	padding: 18px 24px;

	background: #f8fafc;

	border-bottom: 1px solid #e2e8f0;

}

.ecp-modal__title-group {

	display: flex;

	align-items: center;

	gap: 10px;

}

.ecp-modal__icon {

	font-size: 20px;

}

.ecp-modal__title {

	margin: 0;

	font-size: 16px;

	font-weight: 700;

	color: #0f172a;

}

.ecp-modal__close {

	display: inline-flex;

	align-items: center;

	justify-content: center;

	width: 32px;

	height: 32px;

	background: transparent;

	border: none;

	border-radius: 8px;

	font-size: 24px;

	line-height: 1;

	color: #64748b;

	cursor: pointer;

	transition: background .2s, color .2s;

}

.ecp-modal__close:hover {

	background: #e2e8f0;

	color: #0f172a;

}

.ecp-modal__body {

	padding: 24px;

	display: flex;

	flex-direction: column;

	gap: 18px;

	overflow-y: auto;

}

.ecp-modal__field {

	display: flex;

	flex-direction: column;

	gap: 4px;

}

.ecp-modal__field--org {

	padding-bottom: 14px;

	border-bottom: 1px solid #f1f5f9;

}

.ecp-modal__label {

	font-size: 11px;

	font-weight: 700;

	text-transform: uppercase;

	letter-spacing: .06em;

	color: #64748b;

}

.ecp-modal__value {

	font-size: 14px;

	font-weight: 500;

	color: #1e293b;

	line-height: 1.5;

	overflow-wrap: break-word;

	word-break: break-word;

}

.ecp-modal__value--org {

	font-size: 16px;

	font-weight: 700;

	color: #0f172a;

	line-height: 1.4;

	overflow-wrap: break-word;

	word-break: break-word;

}

.ecp-modal__value--highlight {

	font-size: 15px;

	font-weight: 600;

	color: #0f172a;

}

.ecp-modal__value--mono {

	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

	font-size: 13px;

	color: #334155;

	word-break: break-all;

}

/* EP Block in Modal Window */

.ecp-modal__ep-block {

	margin-top: 4px;

	padding: 16px;

	background: #f0f7ff;

	border: 1px solid #dbeafe;

	border-radius: 12px;

	display: flex;

	flex-direction: column;

	gap: 12px;

}

.ecp-modal__ep-header {

	font-size: 12px;

	font-weight: 700;

	letter-spacing: .05em;

	color: #1e40af;

}

.ecp-modal__ep-download {

	display: flex;

	align-items: center;

}

.ecp-modal__ep-download-link,
.ecp-modal__ep-download-link:link,
.ecp-modal__ep-download-link:visited {

	font-size: 14px;

	font-weight: 600;

	color: #2563eb;

	text-decoration: none;

	word-break: break-word;

	transition: color .2s ease;

}

.ecp-modal__ep-download-link:hover,
.ecp-modal__ep-download-link:focus,
.ecp-modal__ep-download-link:active {

	color: #1d4ed8;

	text-decoration: none;

}

.ecp-modal__ep-button,
.ecp-modal__ep-button:link,
.ecp-modal__ep-button:visited {

	display: inline-flex;

	align-items: center;

	justify-content: center;

	width: 100%;

	padding: 10px 16px;

	background: #2563eb;

	border: 1px solid #2563eb;

	border-radius: 8px;

	color: #ffffff;

	font-size: 14px;

	font-weight: 600;

	line-height: 1.4;

	text-align: center;

	text-decoration: none;

	box-sizing: border-box;

	transition: background-color .2s ease, border-color .2s ease, color .2s ease;

}

.ecp-modal__ep-button:hover,
.ecp-modal__ep-button:focus,
.ecp-modal__ep-button:active {

	background: #1d4ed8;

	border-color: #1d4ed8;

	color: #ffffff;

	text-decoration: none;

}

.ecp-modal__ep-button:focus-visible {

	outline: 2px solid #2563eb;

	outline-offset: 2px;

}

.ecp-modal__ep-divider {

	height: 1px;

	background: #dbeafe;

	border: none;

	margin: 0;

}

.ecp-modal__ep-text {

	font-size: 13px;

	color: #475569;

	line-height: 1.45;

	margin: 0;

}

.ecp-modal__ep-info-link,
.ecp-modal__ep-info-link:link,
.ecp-modal__ep-info-link:visited {

	display: block;

	text-align: center;

	font-size: 13px;

	font-weight: 500;

	color: #2563eb;

	text-decoration: none;

	word-break: break-word;

	transition: color .2s ease;

}

.ecp-modal__ep-info-link:hover,
.ecp-modal__ep-info-link:focus,
.ecp-modal__ep-info-link:active {

	color: #1d4ed8;

	text-decoration: none;

}

@media (max-width: 640px) {

	.ecp-document__row {

		flex-direction: row;

		align-items: flex-start;

		gap: 8px;

	}

	.ecp-document__left {

		display: flex;

		align-items: flex-start;

		gap: 8px;

		min-width: 0;

		flex: 1;

	}

	.ecp-document__icon,
	.ecp-document__sig-badge {

		flex-shrink: 0;

	}

	.ecp-document__title {

		flex: 1;

		min-width: 0;

		white-space: normal;

		overflow-wrap: break-word;

		word-break: break-word;

	}

	.ecp-document__right {

		width: 100%;

		justify-content: space-between;

	}

	.ecp-document__download-button {

		flex: 1;

		text-align: center;

	}

	.ecp-modal__dialog {

		border-radius: 12px;

	}

	.ecp-modal__header {

		padding: 16px 20px;

	}

	.ecp-modal__body {

		padding: 20px;

		gap: 14px;

	}

}
