/* ================================
   METRONIC 2025 FIXED NOTIFICATIONS
   ================================ */

.fixed-error,
.fixed-success {
	position: fixed !important;
	top: 20px;
	right: 20px;
	z-index: 999999 !important;

	min-width: 340px;
	max-width: 420px;
	padding: 16px 18px 18px 18px;

	border-radius: 14px;
	border: none;

	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);

	box-shadow:
		0 10px 30px rgba(0, 0, 0, .35),
		0 0 0 1px rgba(255,255,255,.08) inset;

	animation: notifySlideIn .55s cubic-bezier(.2,.8,.2,1);
}

/* text */
.fixed-error > div,
.fixed-success > div {
	font-size: 14px;
	line-height: 1.45;
	font-weight: 500;
	padding-right: 25px;
}

/* close button */
.fixed-error .btn-close,
.fixed-success .btn-close {
	position: absolute;
	top: 6px;
	right: 16px;
	filter: invert(1);
	opacity: .65;
}
.fixed-error .btn-close:hover,
.fixed-success .btn-close:hover {
	opacity: 1;
}

/* ================================
   ERROR – red / pink cyber glow
   ================================ */

.fixed-error {
	background: linear-gradient(
		135deg,
		rgba(255, 56, 96, .9),
		rgba(160, 20, 60, .92)
	);
	color: #fff;

	box-shadow:
		0 10px 30px rgba(255, 0, 80, .38),
		0 0 0 1px rgba(255,255,255,.07) inset;
}

/* little progress bar */
.fixed-error::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px;
	width: 100%;
	background: rgba(255,255,255,.4);
	animation: notifyProgress linear forwards;
	animation-duration: var(--notify-delay, 6s);
}

/* ================================
   SUCCESS – green / emerald glow
   ================================ */

.fixed-success {
	background: linear-gradient(
		135deg,
		rgba(0, 200, 140, .9),
		rgba(0, 120, 90, .95)
	);
	color: #fff;

	box-shadow:
		0 10px 30px rgba(0, 200, 140, .38),
		0 0 0 1px rgba(255,255,255,.07) inset;
}

.fixed-success::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px;
	width: 100%;
	background: rgba(255,255,255,.4);
	animation: notifyProgress linear forwards;
	animation-duration: var(--notify-delay, 6s);
}

/* ================================
   ASIDE SIDEBAR PREMIUM
   ================================ */

.aside.aside-dark {
	background: linear-gradient(180deg,
		#0f0f1a 0%,
		#161625 35%,
		#1a1a2e 65%,
		#10101c 100%
	) !important;
}

/* Subtle glow line on the right edge */
.aside.aside-dark::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 100%;
	background: linear-gradient(180deg,
		transparent 0%,
		rgba(0, 158, 247, 0.15) 30%,
		rgba(0, 158, 247, 0.08) 70%,
		transparent 100%
	);
	pointer-events: none;
}

/* Logo area - subtle bottom border */
.aside-dark .aside-logo {
	border-bottom: 1px solid rgba(255,255,255,.04) !important;
}

/* Menu hover - softer and more premium */
.aside-dark .menu .menu-link:hover:not(.active) {
	background-color: rgba(255,255,255,.04);
	border-radius: 6px;
}

/* Active menu item - accent glow */
.aside-dark .menu .menu-link.active {
	background: linear-gradient(90deg,
		rgba(0, 158, 247, 0.12) 0%,
		rgba(0, 158, 247, 0.04) 100%
	);
	border-radius: 6px;
}

/* Accordion header hover */
.aside-dark .menu-accordion > .menu-link:hover {
	background-color: rgba(255,255,255,.03);
	border-radius: 6px;
}

/* ================================
   ASIDE MENU SEARCH
   ================================ */

.aside-search {
	border-bottom: 1px solid rgba(255,255,255,.05);
}

.aside-search .form-control {
	height: 34px;
	font-size: 0.8rem;
	background-color: rgba(0, 0, 0, 0.35) !important;
	border: 1px solid rgba(255,255,255,.06) !important;
	color: rgba(255,255,255,.8);
	transition: all 0.25s ease;
}

.aside-search .form-control:focus {
	background-color: rgba(0, 0, 0, 0.5) !important;
	border-color: rgba(0, 158, 247, 0.3) !important;
	color: #fff;
	box-shadow: 0 0 0 3px rgba(0, 158, 247, 0.1),
	            0 2px 8px rgba(0, 0, 0, 0.3);
}

.aside-search .form-control::placeholder {
	color: rgba(255,255,255,.25);
	font-size: 0.8rem;
}

#aside_search_clear {
	transition: color 0.15s ease;
}

#aside_search_clear:hover {
	color: #fff !important;
}

/* When sidebar is minimized, hide search */
body.aside-minimize .aside-search {
	display: none;
}

/* ================================
   MODALS
   ================================ */

.mw-1100px { max-width: 1100px !important; }

/* Fix icon centering in btn-icon inside modals */
.modal .btn.btn-icon > i {
	display: block;
}

.modal .form-control::placeholder,
.modal .select2-container .select2-selection__placeholder,
.modal .form-select option:first-child {
	font-size: 0.9rem;
}

/* ================================
   Animations
   ================================ */

@keyframes notifySlideIn {
	from {
		opacity: 0;
		transform: translateX(50px) scale(.95);
	}
	to {
		opacity: 1;
		transform: translateX(0) scale(1);
	}
}

@keyframes notifyProgress {
	from { width: 100%; }
	to   { width: 0%; }
}

@media (max-width: 768px) {

	.fixed-error,
	.fixed-success {
		left: 50% !important;
		right: auto !important;
		top: 16px;

		transform: translateX(-50%);
		width: calc(100% - 32px);
		max-width: 520px;

		border-radius: 16px;
	}

	/* animație adaptată */
	@keyframes notifySlideIn {
		from {
			opacity: 0;
			transform: translateX(-50%) translateY(-20px) scale(.96);
		}
		to {
			opacity: 1;
			transform: translateX(-50%) translateY(0) scale(1);
		}
	}
}
