:root {
	--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(
	.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
) {
	backface-visibility: hidden;
	transform: translateZ(0);
	will-change: transform, opacity;
}

.btn.btn-default.btn-sm,
.btn.btn-default.btn-sm.ellipsis,
.btn.btn-sm.btn-secondary.small {
	background: #AA0AB2 !important;
	background-color: #AA0AB2 !important;
	border-color: #AA0AB2 !important;
	color: #ffffff !important;
	box-shadow: 0 10px 24px rgba(170, 10, 178, 0.28) !important;
	opacity: 1 !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.btn.btn-primary.btn-sm.primary-action {
	background: #AA0AB2 !important;
	background-color: #AA0AB2 !important;
	border-color: #AA0AB2 !important;
	color: #ffffff !important;
	box-shadow: 0 10px 24px rgba(170, 10, 178, 0.28) !important;
	opacity: 1 !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.btn.btn-primary {
	background: #AA0AB2 !important;
	background-color: #AA0AB2 !important;
	border-color: #AA0AB2 !important;
	color: #ffffff !important;
	box-shadow: 0 10px 24px rgba(170, 10, 178, 0.28) !important;
	opacity: 1 !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.page-actions .btn:not(.icon-btn),
.page-actions div#driver-popover-item .driver-popover-footer button:not(.icon-btn),
div#driver-popover-item .driver-popover-footer .page-actions button:not(.icon-btn) {
	padding: 4px 8px;
	color: #ffffff !important;
	background: #AA0AB2 !important;
	background-color: #AA0AB2 !important;
	border-color: #AA0AB2 !important;
	box-shadow: 0 10px 24px rgba(170, 10, 178, 0.28) !important;
	opacity: 1 !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.form-tabs-list .form-tabs .nav-item .nav-link.active {
	font-weight: 600;
	border-bottom: 1px solid #AA0AB2;
	color: #AA0AB2 !important;
}

.btn.btn-default.btn-sm,
.btn.btn-default.btn-sm.ellipsis,
.btn.btn-sm.btn-secondary.small,
.btn.btn-primary.btn-sm.primary-action,
.btn.btn-primary,
.page-actions .btn:not(.icon-btn),
.page-actions div#driver-popover-item .driver-popover-footer button:not(.icon-btn),
div#driver-popover-item .driver-popover-footer .page-actions button:not(.icon-btn) {
	transition:
		transform var(--motion-duration-fast) var(--motion-ease-standard),
		box-shadow var(--motion-duration-fast) var(--motion-ease-standard),
		background-color var(--motion-duration-fast) var(--motion-ease-standard),
		border-color var(--motion-duration-fast) var(--motion-ease-standard),
		filter var(--motion-duration-fast) var(--motion-ease-standard);
}

@media (hover: hover) and (pointer: fine) {
	.btn.btn-default.btn-sm:hover:not(:disabled),
	.btn.btn-default.btn-sm.ellipsis:hover:not(:disabled),
	.btn.btn-sm.btn-secondary.small:hover:not(:disabled),
	.btn.btn-primary.btn-sm.primary-action:hover:not(:disabled),
	.btn.btn-primary:hover:not(:disabled),
	.page-actions .btn:not(.icon-btn):hover:not(:disabled),
	.page-actions div#driver-popover-item .driver-popover-footer button:not(.icon-btn):hover:not(:disabled),
	div#driver-popover-item .driver-popover-footer .page-actions button:not(.icon-btn):hover:not(:disabled) {
		background: #8a0991 !important;
		background-color: #8a0991 !important;
		border-color: #8a0991 !important;
		box-shadow: 0 8px 18px rgba(170, 10, 178, 0.22) !important;
		filter: brightness(1.03);
		transform: translateY(-1px);
	}

	.btn.btn-default.btn-sm:active:not(:disabled),
	.btn.btn-default.btn-sm.ellipsis:active:not(:disabled),
	.btn.btn-sm.btn-secondary.small:active:not(:disabled),
	.btn.btn-primary.btn-sm.primary-action:active:not(:disabled),
	.btn.btn-primary:active:not(:disabled),
	.page-actions .btn:not(.icon-btn):active:not(:disabled),
	.page-actions div#driver-popover-item .driver-popover-footer button:not(.icon-btn):active:not(:disabled),
	div#driver-popover-item .driver-popover-footer .page-actions button:not(.icon-btn):active:not(:disabled) {
		background: #6b0771 !important;
		background-color: #6b0771 !important;
		border-color: #6b0771 !important;
		box-shadow: 0 4px 10px rgba(170, 10, 178, 0.18) !important;
		filter: brightness(0.98);
		transform: translateY(0);
	}
}

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

/* Hover and color effects removed */

/* 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: inherit;
	}

	[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: inherit;
		border-radius: 10px;
	}
}

/* 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);
}

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

/* Loading Spinner Animation */
.spinner {
	border: 3px solid currentColor;
	border-top: 3px solid currentColor;
	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;
	}
}
