/* Minimal DLE engine overrides for UJAS.PRO. */
.ui-widget-overlay,
.dle-popup-overlay,
#dlepopup-overlay {
	position: fixed !important;
	inset: 0 !important;
	z-index: 999900 !important;
	background: rgba(0, 0, 0, 0.78) !important;
	backdrop-filter: blur(3px);
}

.dle-popup,
.ui-dialog,
#dlepopup,
#dlepopup-content,
.modal,
.popup {
	z-index: 1000000 !important;
	color: #f4eef0 !important;
}

.dle-popup,
.ui-dialog,
#dlepopup {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	width: min(540px, calc(100vw - 24px)) !important;
	max-height: min(760px, calc(100vh - 24px));
	overflow: auto;
	border: 1px solid rgba(161, 20, 42, 0.38) !important;
	border-radius: 9px !important;
	background:
		linear-gradient(135deg, rgba(161, 20, 42, 0.12), transparent 42%),
		linear-gradient(180deg, #141820, #0d1015) !important;
	box-shadow: 0 36px 90px rgba(0, 0, 0, 0.72) !important;
	transform: translate(-50%, -50%) !important;
}

.ui-dialog-titlebar,
.dle-popup-title {
	position: relative;
	padding: 15px 18px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
	background: transparent !important;
	color: #f1e7e2 !important;
	font-weight: 900;
}

.ui-dialog-titlebar-close,
.dle-popup-close,
#dlepopup-close,
.dle-popup .close,
.ui-dialog .close {
	position: absolute !important;
	top: 12px !important;
	right: 14px !important;
	display: grid !important;
	width: 34px !important;
	height: 34px !important;
	min-height: 34px !important;
	padding: 0 !important;
	place-items: center;
	overflow: hidden;
	border: 0 !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.035) !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.09) !important;
	cursor: pointer;
	transition: transform 0.32s ease, background 0.22s ease, box-shadow 0.22s ease;
}

.ui-dialog-titlebar-close::before,
.ui-dialog-titlebar-close::after,
.dle-popup-close::before,
.dle-popup-close::after,
#dlepopup-close::before,
#dlepopup-close::after,
.dle-popup .close::before,
.dle-popup .close::after,
.ui-dialog .close::before,
.ui-dialog .close::after {
	content: "";
	position: absolute;
	width: 15px;
	height: 1px;
	background: #d8cfcc;
}

.ui-dialog-titlebar-close::before,
.dle-popup-close::before,
#dlepopup-close::before,
.dle-popup .close::before,
.ui-dialog .close::before {
	transform: rotate(45deg);
}

.ui-dialog-titlebar-close::after,
.dle-popup-close::after,
#dlepopup-close::after,
.dle-popup .close::after,
.ui-dialog .close::after {
	transform: rotate(-45deg);
}

.ui-dialog-titlebar-close:hover,
.dle-popup-close:hover,
#dlepopup-close:hover,
.dle-popup .close:hover,
.ui-dialog .close:hover {
	background: rgba(190, 90, 84, 0.12) !important;
	box-shadow: inset 0 0 0 1px rgba(190, 90, 84, 0.28) !important;
	transform: rotate(180deg);
}

.ui-dialog-titlebar-close .ui-button-icon,
.ui-dialog-titlebar-close .ui-button-icon-space,
.ui-dialog-titlebar-close .ui-button-text {
	display: none !important;
}

.ui-dialog-content,
#dlepopup-content,
.dle-popup-content {
	padding: 18px !important;
	background: transparent !important;
	color: #d9d2d4 !important;
}

.ui-dialog input,
.ui-dialog textarea,
.dle-popup input,
.dle-popup textarea,
#dlepopup input,
#dlepopup textarea {
	width: 100%;
	padding: 12px 13px;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 0;
	background: rgba(255, 255, 255, 0.03);
	color: #f4eef0;
	outline: none;
}

.ui-dialog-buttonpane,
.dle-popup-footer {
	padding: 0 18px 18px !important;
	border: 0 !important;
	background: transparent !important;
}

.ui-dialog-buttonset,
.ui-dialog-buttonpane .ui-dialog-buttonset {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
}

.ui-dialog button,
.dle-popup button,
#dlepopup button {
	min-height: 38px;
	padding: 0 0 8px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #f0ded8;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: inset 0 -1px 0 rgba(190, 90, 84, 0.78);
	cursor: pointer;
}

.berrors, .pm_alert, .system-info {
	padding: 16px;
	margin-bottom: 18px;
	border-radius: 8px;
	background: rgba(161, 20, 42, 0.16);
	border: 1px solid rgba(217, 42, 67, 0.35);
	color: #ffdce2;
}

#dle-info,
.dle-info,
.dle-alert,
.horror-toast {
	position: fixed !important;
	top: 92px !important;
	right: 18px !important;
	left: auto !important;
	z-index: 1000500 !important;
	display: block !important;
	width: min(420px, calc(100vw - 28px)) !important;
	max-width: calc(100vw - 28px) !important;
	min-height: 0 !important;
	padding: 18px 20px !important;
	margin: 0 !important;
	border: 1px solid rgba(190, 90, 84, 0.36) !important;
	border-left: 3px solid rgba(218, 88, 86, 0.9) !important;
	border-radius: 8px !important;
	background:
		linear-gradient(135deg, rgba(190, 90, 84, 0.14), transparent 44%),
		linear-gradient(180deg, rgba(19, 23, 31, 0.98), rgba(9, 11, 16, 0.98)) !important;
	color: #f4e8e5 !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	box-shadow: 0 24px 58px rgba(0, 0, 0, 0.58) !important;
	transform: none !important;
}

.horror-toast > button,
.horror-toast > a.close,
.horror-toast .close,
.horror-toast .ui-icon,
.horror-toast .ui-button-icon,
.horror-toast img,
#dle-info > button,
#dle-info > a.close,
#dle-info .close,
#dle-info .ui-icon,
#dle-info .ui-button-icon,
#dle-info img {
	display: none !important;
}

.horror-toast {
	animation: horrorToastIn 0.22s ease both;
}

.horror-toast.is-toast-hidden {
	opacity: 0 !important;
	pointer-events: none !important;
	transform: translateY(-8px) !important;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

@keyframes horrorToastIn {
	from { opacity: 0; transform: translateY(-10px) !important; }
	to { opacity: 1; transform: translateY(0) !important; }
}

@media (max-width: 640px) {
	#dle-info,
	.dle-info,
	.dle-alert,
	.horror-toast {
		top: 72px !important;
		right: 10px !important;
		left: 10px !important;
		width: auto !important;
		max-width: none !important;
		padding: 14px 15px !important;
		font-size: 13px !important;
	}
}
