:root {
	--primary: #AA0AB2;
	--primary-hover: #8a0991;
	--primary-active: #6b0771;
	--motion-ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
	--motion-ease-entrance: cubic-bezier(0.22, 1, 0.36, 1);
	--motion-duration-fast: 140ms;
	--motion-duration-base: 220ms;
	--motion-duration-slow: 360ms;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	scroll-behavior: smooth;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

:where(
	.btn,
	button,
	.page-card,
	.card,
	.panel,
	.widget.shortcut-widget-box,
	.form-control,
	input,
	textarea,
	select,
	.navbar,
	.nav-link,
	.nav-tabs .nav-link,
	.pagination .page-link,
	.sidebar-section a,
	.sidebar-link,
	.table-row,
	tr,
	img,
	.badge,
	.tag,
	.label,
	.alert,
	.notification,
	.toast,
	.app-logo,
	.progress-bar
) {
	transition-property: transform, opacity, box-shadow, background-color, color, border-color, filter;
	transition-duration: var(--motion-duration-base);
	transition-timing-function: var(--motion-ease-standard);
	backface-visibility: hidden;
	transform: translateZ(0);
	will-change: transform, opacity;
}

/* ========================================
   ENHANCED HOVER EFFECTS FOR ALL ELEMENTS
   ======================================== */

/* PRIMARY BUTTON HOVER EFFECTS */
.btn.btn-primary,
div#driver-popover-item .driver-popover-footer button.btn-primary,
div#driver-popover-item .driver-popover-footer button.driver-next-btn {
	background-color: #AA0AB2;
	color: var(--white);
	white-space: nowrap;
	--icon-stroke: currentColor;
	--icon-fill-bg: #AA0AB2;
	position: relative;
	overflow: hidden;
	transition: background-color var(--motion-duration-base) var(--motion-ease-standard), color var(--motion-duration-base) var(--motion-ease-standard), transform var(--motion-duration-base) var(--motion-ease-standard), box-shadow var(--motion-duration-base) var(--motion-ease-standard), border-color var(--motion-duration-base) var(--motion-ease-standard);
	transform: translateZ(0);
	backface-visibility: hidden;
	border: 2px solid transparent;
}

.btn.btn-primary:hover {
	background-color: var(--primary-hover);
	transform: translateY(-2px) scale(1.02);
	box-shadow: 0 10px 24px rgba(170, 10, 178, 0.35);
	border-color: rgba(255, 255, 255, 0.3);
}

.btn.btn-primary:active {
	background-color: var(--primary-active);
	transform: translateY(0) scale(0.99);
	box-shadow: 0 5px 12px rgba(170, 10, 178, 0.28);
}

/* DEFAULT BUTTON HOVER EFFECTS */
.btn.btn-default,
div#driver-popover-item .driver-popover-footer button.btn-default {
	background-color: #AA0AB2;
	color: var(--white);
	white-space: nowrap;
	--icon-stroke: currentColor;
	--icon-fill-bg: #AA0AB2;
	position: relative;
	overflow: hidden;
	transition: background-color var(--motion-duration-base) var(--motion-ease-standard), color var(--motion-duration-base) var(--motion-ease-standard), transform var(--motion-duration-base) var(--motion-ease-standard), box-shadow var(--motion-duration-base) var(--motion-ease-standard), border-color var(--motion-duration-base) var(--motion-ease-standard);
	transform: translateZ(0);
	backface-visibility: hidden;
	border: 2px solid transparent;
}

.btn.btn-default:hover {
	background-color: var(--primary-hover);
	transform: translateY(-2px) scale(1.02);
	box-shadow: 0 10px 24px rgba(170, 10, 178, 0.35);
	border-color: rgba(255, 255, 255, 0.3);
}

.btn.btn-default:active {
	background-color: var(--primary-active);
	transform: translateY(0) scale(0.99);
	box-shadow: 0 5px 12px rgba(170, 10, 178, 0.28);
}

/* ALL BUTTONS - UNIVERSAL HOVER EFFECTS */
.btn, button {
	transition: transform var(--motion-duration-base) var(--motion-ease-standard), box-shadow var(--motion-duration-base) var(--motion-ease-standard), background-color var(--motion-duration-base) var(--motion-ease-standard), color var(--motion-duration-base) var(--motion-ease-standard), border-color var(--motion-duration-base) var(--motion-ease-standard);
	position: relative;
	overflow: hidden;
}

.btn:hover, button:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(170, 10, 178, 0.28);
}

.btn:active, button:active {
	transform: translateY(0);
	box-shadow: 0 3px 10px rgba(170, 10, 178, 0.22);
}

/* LINK HOVER EFFECTS */
a {
	transition: color var(--motion-duration-base) var(--motion-ease-standard), transform var(--motion-duration-base) var(--motion-ease-standard), opacity var(--motion-duration-base) var(--motion-ease-standard);
	position: relative;
}

a:hover {
	color: #AA0AB2 !important;
	text-decoration: none;
}

/* Animated underline for links */
.sidebar-section a,
a:not(.btn) {
	position: relative;
}

.sidebar-section a::after,
.sidebar-section a::after {
	content: '';
	position: absolute;
	width: 0;
	height: 2px;
	bottom: 0;
	left: 50%;
	background-color: #AA0AB2;
	transition: width var(--motion-duration-base) var(--motion-ease-standard), left var(--motion-duration-base) var(--motion-ease-standard);
	transform: translateX(-50%);
}

.sidebar-section a:hover::after,
.sidebar-section a:hover::after {
	width: 100%;
}

/* CARD HOVER EFFECTS */
.page-card,
.card,
.panel {
	transition: transform var(--motion-duration-slow) var(--motion-ease-entrance), box-shadow var(--motion-duration-slow) var(--motion-ease-standard), border-color var(--motion-duration-slow) var(--motion-ease-standard);
}

.page-card:hover,
.card:hover,
.panel:hover {
	transform: translateY(-4px) scale(1.01);
	box-shadow: 0 14px 32px rgba(170, 10, 178, 0.22);
	border-color: #AA0AB2;
}

/* WIDGET BOX HOVER EFFECTS */
.widget.shortcut-widget-box {
	transition: transform var(--motion-duration-slow) var(--motion-ease-entrance), box-shadow var(--motion-duration-slow) var(--motion-ease-standard), border-color var(--motion-duration-slow) var(--motion-ease-standard), background-color var(--motion-duration-slow) var(--motion-ease-standard);
	position: relative;
	overflow: hidden;
	cursor: pointer;
	border: 2px solid transparent;
}

.widget.shortcut-widget-box:hover {
	transform: translateY(-6px) scale(1.02);
	box-shadow: 0 18px 36px rgba(170, 10, 178, 0.24);
	border-color: #AA0AB2;
	background: linear-gradient(135deg, rgba(170, 10, 178, 0.05), rgba(170, 10, 178, 0.1));
}

/* Add shine effect to widget boxes */
.widget.shortcut-widget-box::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: linear-gradient(
		45deg,
		transparent 30%,
		rgba(255, 255, 255, 0.1) 50%,
		transparent 70%
	);
	transform: translateX(-100%) rotate(45deg);
	transition: transform var(--motion-duration-slow) var(--motion-ease-standard);
}

.widget.shortcut-widget-box:hover::before {
	transform: translateX(100%) rotate(45deg);
}

/* Add pulse effect to widget icons on hover */
.widget.shortcut-widget-box:hover .widget-icon {
	animation: widgetIconPulse 1s ease infinite;
}

@keyframes widgetIconPulse {
	0%, 100% {
		transform: scale(1);
		filter: drop-shadow(0 0 5px rgba(170, 10, 178, 0.5));
	}
	50% {
		transform: scale(1.15);
		filter: drop-shadow(0 0 15px rgba(170, 10, 178, 0.8));
	}
}

/* Add text color change on hover */
.widget.shortcut-widget-box:hover .widget-title,
.widget.shortcut-widget-box:hover .widget-description {
	color: #AA0AB2;
}

/* Add glow effect to widget box */
.widget.shortcut-widget-box:hover {
	box-shadow:
		0 20px 50px rgba(170, 10, 178, 0.4),
		0 0 0 1px rgba(170, 10, 178, 0.2),
		inset 0 0 20px rgba(170, 10, 178, 0.05);
}

/* Add bounce effect to widget box on click */
.widget.shortcut-widget-box:active {
	transform: translateY(-8px) scale(1.02);
	box-shadow: 0 10px 30px rgba(170, 10, 178, 0.3);
}

/* FORM INPUT HOVER EFFECTS */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
	border: 2px solid transparent;
}

.form-control:hover,
input:hover,
textarea:hover,
select:hover {
	border-color: rgba(170, 10, 178, 0.3);
	box-shadow: 0 4px 15px rgba(170, 10, 178, 0.2);
}

.form-control:focus,
input:focus,
textarea:focus,
select:focus {
	border-color: #AA0AB2;
	box-shadow: 0 0 0 4px rgba(170, 10, 178, 0.15);
	transform: scale(1.005);
}

/* NAVBAR HOVER EFFECTS */
.navbar {
	height: 60px;
	box-shadow: var(--shadow-sm);
	padding: 0;
}

.navbar:hover {
	box-shadow: 0 6px 18px rgba(170, 10, 178, 0.16);
	transform: translateY(-1px);
	height: 60px;
}

.navbar-brand:hover {
	transform: scale(1.02);
}

.nav-link:hover {
	color: #AA0AB2 !important;
	transform: translateX(2px);
}

/* ICON HOVER EFFECTS */
.icon-sm,
.icon-md,
.icon-lg,
svg {
	transition-duration: var(--motion-duration-base);
}

.icon-sm:hover,
.icon-md:hover,
.icon-lg:hover,
svg:hover {
	transform: scale(1.08) rotate(4deg);
	color: #AA0AB2;
}

/* TABLE ROW HOVER EFFECTS */
.table-row,
tr {
	transition: background-color var(--motion-duration-fast) var(--motion-ease-standard), box-shadow var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard);
}

.table-row:hover,
tr:hover {
	background-color: rgba(170, 10, 178, 0.05);
	transform: translateY(-1px);
	box-shadow: 0 2px 10px rgba(170, 10, 178, 0.08);
}

/* SIDEBAR ITEM HOVER EFFECTS */
.sidebar-section a,
.sidebar-link {
	transition: transform var(--motion-duration-base) var(--motion-ease-standard), color var(--motion-duration-base) var(--motion-ease-standard), background-color var(--motion-duration-base) var(--motion-ease-standard);
	position: relative;
	padding-left: 15px;
}

.sidebar-section a:hover,
.sidebar-link:hover {
	color: #AA0AB2 !important;
	background: linear-gradient(90deg, rgba(170, 10, 178, 0.1), transparent);
	transform: translateX(4px);
}

/* PROGRESS BAR HOVER EFFECTS */
.progress-bar {
	transition: width var(--motion-duration-slow) var(--motion-ease-standard), background-color var(--motion-duration-base) var(--motion-ease-standard), transform var(--motion-duration-base) var(--motion-ease-standard);
	cursor: pointer;
}

.progress-bar:hover {
	filter: brightness(1.2);
	transform: scaleY(1.03);
}

/* BUTTON GROUP HOVER EFFECTS */
.btn-group .btn {
	position: relative;
}

.btn-group .btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(170, 10, 178, 0.28);
	z-index: 10;
}

/* IMAGE HOVER EFFECTS */
img {
	transition: transform var(--motion-duration-base) var(--motion-ease-standard), box-shadow var(--motion-duration-base) var(--motion-ease-standard), filter var(--motion-duration-base) var(--motion-ease-standard);
}

img:hover {
	transform: scale(1.015);
	box-shadow: 0 8px 18px rgba(170, 10, 178, 0.18);
}

/* BADGE AND TAG HOVER EFFECTS */
.badge,
.tag,
.label {
	cursor: pointer;
}

.badge:hover,
.tag:hover,
.label:hover {
	transform: scale(1.04) rotate(-1deg);
	box-shadow: 0 4px 12px rgba(170, 10, 178, 0.2);
}

/* ALERT AND NOTIFICATION HOVER EFFECTS */
.alert,
.notification,
.toast {
	transition: transform var(--motion-duration-base) var(--motion-ease-standard), box-shadow var(--motion-duration-base) var(--motion-ease-standard);
}

.alert:hover,
.notification:hover,
.toast:hover {
	transform: translateX(3px);
	box-shadow: 0 8px 18px rgba(170, 10, 178, 0.18);
}

/* MODAL HOVER EFFECTS */
.modal {
	transition: opacity var(--motion-duration-base) var(--motion-ease-standard), transform var(--motion-duration-base) var(--motion-ease-standard);
}

.modal-content:hover {
	box-shadow: 0 18px 40px rgba(170, 10, 178, 0.22);
}

/* TAB HOVER EFFECTS */
.nav-tabs .nav-link {
	position: relative;
}

.nav-tabs .nav-link:hover {
	color: #AA0AB2 !important;
	border-color: #AA0AB2;
	transform: translateY(-1px);
}

/* PAGINATION HOVER EFFECTS */
.pagination .page-link {
	transition: transform var(--motion-duration-base) var(--motion-ease-standard), background-color var(--motion-duration-base) var(--motion-ease-standard), color var(--motion-duration-base) var(--motion-ease-standard);
}

.pagination .page-link:hover {
	background-color: #AA0AB2;
	color: white !important;
	transform: scale(1.04);
	box-shadow: 0 4px 12px rgba(170, 10, 178, 0.24);
}

/* CHECKBOX AND RADIO HOVER EFFECTS */
input[type="checkbox"],
input[type="radio"] {
	cursor: pointer;
}

input[type="checkbox"]:hover,
input[type="radio"]:hover {
	transform: scale(1.08);
	box-shadow: 0 0 0 3px rgba(170, 10, 178, 0.2);
}

/* TOOLTIP HOVER EFFECTS */
[data-toggle="tooltip"] {
	transition: transform var(--motion-duration-fast) var(--motion-ease-standard), color var(--motion-duration-fast) var(--motion-ease-standard);
}

[data-toggle="tooltip"]:hover {
	transform: scale(1.02);
	color: #AA0AB2;
}

/* ========================================
   SPECIAL HOVER EFFECTS
   ======================================== */

/* Shine effect on hover */
.shine-effect {
	position: relative;
	overflow: hidden;
}

.shine-effect::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 50%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
	transition: left var(--motion-duration-slow) var(--motion-ease-standard);
}

.shine-effect:hover::before {
	left: 100%;
}

/* Pulse effect on hover */
.pulse-effect {
	animation: pulse 2s infinite;
}

@keyframes pulse {
	0%, 100% {
		box-shadow: 0 0 0 0 rgba(170, 10, 178, 0.7);
	}
	50% {
		box-shadow: 0 0 0 10px rgba(170, 10, 178, 0);
	}
}

/* Float effect on hover */
.float-effect:hover {
	animation: float 3s var(--motion-ease-entrance) infinite;
}

@keyframes float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

/* Glow effect on hover */
.glow-effect:hover {
	box-shadow: 0 0 20px rgba(170, 10, 178, 0.6),
					0 0 40px rgba(170, 10, 178, 0.4),
					0 0 60px rgba(170, 10, 178, 0.2);
}

/* ========================================
   BUTTON SPECIAL STYLES
   ======================================== */

/* Button Shake Animation on Error */
.btn.btn-primary.error,
.btn.btn-default.error {
	animation: shake 0.45s cubic-bezier(.36,.07,.19,.97) both;
}

@keyframes shake {
	10%, 90% { transform: translate3d(-1px, 0, 0); }
	20%, 80% { transform: translate3d(2px, 0, 0); }
	30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
	40%, 60% { transform: translate3d(4px, 0, 0); }
}

/* Button Success Animation */
.btn.btn-primary.success,
.btn.btn-default.success {
	animation: successPulse 0.45s var(--motion-ease-standard);
}

@keyframes successPulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.1); background-color: #28a745; }
	100% { transform: scale(1); }
}

/* Button Loading State */
.btn.loading {
	position: relative;
	color: transparent;
	pointer-events: none;
}

.btn.loading::after {
	content: '';
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: 50%;
	margin-left: -10px;
	margin-top: -10px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-top-color: #ffffff;
	border-radius: 50%;
	animation: buttonSpinner 0.9s linear infinite;
}

@keyframes buttonSpinner {
	to { transform: rotate(360deg); }
}

/* Button Glow Effect */
.btn.btn-primary.glow,
.btn.btn-default.glow {
	animation: buttonGlow 2.5s var(--motion-ease-standard) infinite;
}

@keyframes buttonGlow {
	0%, 100% {
		box-shadow: 0 0 5px rgba(170, 10, 178, 0.5);
	}
	50% {
		box-shadow: 0 0 20px rgba(170, 10, 178, 0.8), 0 0 30px rgba(170, 10, 178, 0.4);
	}
}

/* Button Bounce Effect */
.btn.btn-primary.bounce,
.btn.btn-default.bounce {
	animation: buttonBounce 0.42s var(--motion-ease-standard);
}

@keyframes buttonBounce {
	0%, 20%, 40%, 60%, 80% { transform: translateY(0); }
	10% { transform: translateY(-5px); }
	30% { transform: translateY(-3px); }
	50% { transform: translateY(-2px); }
	70% { transform: translateY(-1px); }
	90% { transform: translateY(-0.5px); }
}

/* Floating Action Button */
.btn-float {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: #AA0AB2;
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 15px rgba(170, 10, 178, 0.4);
	transition: transform var(--motion-duration-base) var(--motion-ease-standard), box-shadow var(--motion-duration-base) var(--motion-ease-standard);
	z-index: 1000;
}

.btn-float:hover {
	transform: scale(1.08) rotate(45deg);
	box-shadow: 0 10px 26px rgba(170, 10, 178, 0.45);
}

.btn-float:active {
	transform: scale(1.03) rotate(45deg);
}

/* 3D Button Effect */
.btn-3d {
	box-shadow: 0 6px 0 #6b0771, 0 10px 10px rgba(0, 0, 0, 0.2);
	transition: transform var(--motion-duration-fast) var(--motion-ease-standard), box-shadow var(--motion-duration-fast) var(--motion-ease-standard);
}

.btn-3d:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 0 #6b0771, 0 15px 20px rgba(0, 0, 0, 0.2);
}

.btn-3d:active {
	transform: translateY(4px);
	box-shadow: 0 2px 0 #6b0771, 0 5px 10px rgba(0, 0, 0, 0.2);
}

/* Gradient Button Animation */
.btn-gradient {
	background: linear-gradient(45deg, #AA0AB2, #8a0991, #AA0AB2);
	background-size: 200% 200%;
	animation: gradientMove 4s var(--motion-ease-standard) infinite;
}

@keyframes gradientMove {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

.btn-gradient:hover {
	background-position: 100% 50%;
	transform: scale(1.02);
}

/* Neon Button Effect */
.btn-neon {
	background-color: #AA0AB2;
	box-shadow: 0 0 5px #AA0AB2, 0 0 10px #AA0AB2, 0 0 20px #AA0AB2;
	transition: box-shadow var(--motion-duration-base) var(--motion-ease-standard), transform var(--motion-duration-base) var(--motion-ease-standard);
}

.btn-neon:hover {
	box-shadow: 0 0 10px #AA0AB2, 0 0 20px #AA0AB2, 0 0 40px #AA0AB2, 0 0 80px #AA0AB2;
	text-shadow: 0 0 10px #ffffff;
	transform: scale(1.02);
}

.page-form .filter-button.btn-primary-light {
	color: #AA0AB2;
}

/* ========================================
   OTHER STYLES
   ======================================== */

.page-head {
	z-index: 4;
	position: -webkit-sticky;
	position: sticky;
	top: var(--navbar-height);
	margin-bottom: 5px;
	transition: transform var(--motion-duration-base) var(--motion-ease-standard), box-shadow var(--motion-duration-base) var(--motion-ease-standard);
}

.icon-sm {
	width: 16px;
	height: 16px;
}

/* Progress Steps with Animations */
.slides-progress .slide-step.active .slide-step-indicator {
	background-color: #AA0AB2;
	color: var(--white);
	animation: pulse 2s infinite;
}

.slides-progress .slide-step.active {
	border: 1px solid #AA0AB2;
	animation: borderGlow 2s infinite;
}

@keyframes borderGlow {
	0%, 100% {
		box-shadow: 0 0 5px rgba(170, 10, 178, 0.5);
	}
	50% {
		box-shadow: 0 0 15px rgba(170, 10, 178, 0.8);
	}
}

.slides-progress .slide-step.step-success:not(.active) {
	background-color: #AA0AB2;
	border: 1px solid #AA0AB2;
	transition: background-color var(--motion-duration-base) var(--motion-ease-standard), border-color var(--motion-duration-base) var(--motion-ease-standard);
}

.progress-bar {
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	background-color: #AA0AB2;
	transition: width var(--motion-duration-slow) var(--motion-ease-standard), background-color var(--motion-duration-base) var(--motion-ease-standard);
	animation: progressShine 4s var(--motion-ease-standard) infinite;
}

@keyframes progressShine {
	0% {
		background-position: -100% 0;
	}
	100% {
		background-position: 200% 0;
	}
}

/* Scrollbar Styling */
@media (min-width: 992px) {
	[data-page-route=Workspaces] .layout-main .layout-main-section-wrapper::-webkit-scrollbar-track,
	[data-page-route=Workspaces] .layout-main .layout-side-section::-webkit-scrollbar-track {
		background: #AA0AB2;
	}

	[data-page-route=Workspaces] .layout-main .layout-main-section-wrapper::-webkit-scrollbar-thumb,
	[data-page-route=Workspaces] .layout-main .layout-side-section::-webkit-scrollbar-thumb {
		background: #d0cece;
		border-radius: 10px;
		transition: background 0.3s ease;
	}

	[data-page-route=Workspaces] .layout-main .layout-main-section-wrapper::-webkit-scrollbar-thumb:hover,
	[data-page-route=Workspaces] .layout-main .layout-side-section::-webkit-scrollbar-thumb:hover {
		background: #b8b6b6;
	}
}

/* Login Page Glass Morphism Effect */
.for-login .page-card,
.for-forgot .page-card,
.for-login-with-email-link .page-card,
.for-signup .page-card,
.for-email-login .page-card {
	max-width: 400px;
	margin: 0 auto;
	border-radius: var(--border-radius-md);
	background: rgba(255, 255, 255, 0.1);
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: #fff;
	transition: transform var(--motion-duration-slow) var(--motion-ease-entrance), box-shadow var(--motion-duration-slow) var(--motion-ease-standard), border-color var(--motion-duration-slow) var(--motion-ease-standard);
	animation: fadeInUp 0.55s var(--motion-ease-entrance);
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.for-login .page-card:hover,
.for-forgot .page-card:hover,
.for-login-with-email-link .page-card:hover,
.for-signup .page-card:hover,
.for-email-login .page-card:hover {
	transform: translateY(-4px) scale(1.01);
	box-shadow: 0 14px 34px rgba(170, 10, 178, 0.2);
	border-color: rgba(170, 10, 178, 0.5);
}

/* Logo Animation */
.app-logo {
	transition: transform var(--motion-duration-base) var(--motion-ease-standard), filter var(--motion-duration-base) var(--motion-ease-standard);
	cursor: pointer;
}

.app-logo:hover {
	transform: scale(1.03) rotate(2deg);
	filter: drop-shadow(0 6px 10px rgba(170, 10, 178, 0.28));
}

/* Loading Spinner Animation */
.spinner {
	border: 3px solid rgba(170, 10, 178, 0.3);
	border-top: 3px solid #AA0AB2;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	animation: spin 1.1s linear infinite;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.btn:hover,
	button:hover,
	.page-card:hover,
	.card:hover,
	.panel:hover,
	.widget.shortcut-widget-box:hover,
	.navbar:hover,
	.nav-link:hover,
	.sidebar-section a:hover,
	.sidebar-link:hover,
	.table-row:hover,
	tr:hover,
	img:hover,
	.badge:hover,
	.tag:hover,
	.label:hover,
	.alert:hover,
	.notification:hover,
	.toast:hover,
	.nav-tabs .nav-link:hover,
	.pagination .page-link:hover {
		transform: none !important;
		box-shadow: inherit !important;
	}
}

/* ========================================
   DROPDOWN CUSTOMIZATION (Purpledove Style)
   ======================================== */

/* Enhanced Dropdown Menu Styling */
.dropdown-menu {
	animation: fadeInDown 0.3s ease;
	z-index: 9999 !important;
	position: absolute !important;
	background: white;
	border: 1px solid rgba(170, 10, 178, 0.2);
	border-radius: 8px;
	box-shadow: 0 8px 25px rgba(170, 10, 178, 0.15);
	padding: 8px 0;
	min-width: 200px;
	backdrop-filter: blur(10px);
}

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

/* Dropdown Container */
.dropdown {
	position: relative;
	z-index: 10000 !important;
}

.dropdown.show {
	z-index: 10001 !important;
}

.dropdown-toggle {
	position: relative;
	z-index: 10002 !important;
	transition: all 0.2s ease;
}

.dropdown-toggle::after {
	transition: transform 0.2s ease;
}

.dropdown-toggle.show::after {
	transform: rotate(180deg);
}

/* Navbar Dropdown Enhancement */
.navbar .dropdown-menu {
	z-index: 10003 !important;
	position: absolute !important;
	margin-top: 8px;
}

/* Dropdown Items */
.dropdown-item {
	position: relative;
	z-index: 10004 !important;
	padding: 10px 20px;
	color: #333 !important;
	transition: all 0.2s ease;
	border-left: 3px solid transparent;
	display: block;
	clear: both;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	text-align: inherit;
	white-space: nowrap;
	background: 0 0;
	border: 0;
}

.dropdown-item:hover {
	background-color: rgba(170, 10, 178, 0.1) !important;
	color: #AA0AB2 !important;
	padding-left: 25px;
	border-left-color: #AA0AB2;
	transform: translateX(3px);
}

/* Dropdown Divider */
.dropdown-divider {
	height: 1px;
	margin: 8px 0;
	background-color: rgba(170, 10, 178, 0.2);
	overflow: hidden;
}

/* Dropdown Header */
.dropdown-header {
	padding: 8px 20px;
	font-size: 12px;
	font-weight: 600;
	color: #AA0AB2;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Specific Dropdown Customizations */
.dropdown-notifications .dropdown-menu {
	width: 350px;
	max-width: 90vw;
}

.dropdown-navbar-user .dropdown-menu {
	width: 250px;
	right: 0;
	left: auto;
}

.dropdown-help .dropdown-menu {
	width: 280px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
	.dropdown-menu {
		position: static !important;
		box-shadow: none;
		border: none;
		border-radius: 0;
		width: 100% !important;
	}

	.dropdown-item {
		padding: 12px 20px;
	}

	.dropdown-notifications .dropdown-menu,
	.dropdown-navbar-user .dropdown-menu,
	.dropdown-help .dropdown-menu {
		width: 100% !important;
	}
}

/* Ensure dropdowns are above page content */
.page-content,
.page-head,
.layout-main {
	position: relative;
	z-index: 1;
}

.navbar {
	position: relative;
	z-index: 1000 !important;
}
