/**
 * Soft page-enter + team chat overlay animations (prefer reduced-motion safe).
 */

@keyframes atomware-page-soft-in {
	from {
		opacity: 0.88;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Tighter curve for shells that already fill the viewport */
@keyframes atomware-page-soft-in-micro {
	from {
		opacity: 0.94;
		transform: translateY(5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/**
 * Opacity-only entrance: `transform` on a wrapper breaks `position: fixed`
 * for sidebars inside #atomware-crm / #atomware-smm / #atomware-kb (fixed
 * becomes relative to the transformed ancestor → search/sidebars vanish).
 */
@keyframes atomware-page-soft-in-fade {
	from {
		opacity: 0.92;
	}
	to {
		opacity: 1;
	}
}

#atomware-staff-dashboard.atomware-dashboard {
	animation: atomware-page-soft-in-micro 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
	will-change: opacity, transform;
}

#atomware-client-portal.atomware-portal {
	animation: atomware-page-soft-in-micro 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
	will-change: opacity, transform;
}

body.atomware-crm-page #atomware-crm.atomware-crm-wrapper {
	animation: atomware-page-soft-in-fade 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
	will-change: opacity;
}

#atomware-smm.atomware-smm-wrap {
	animation: atomware-page-soft-in-fade 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
	will-change: opacity;
}

#atomware-kb.atomware-kb-wrapper {
	animation: atomware-page-soft-in-fade 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
	will-change: opacity;
}

/*
 * Staff mobile: opacity-only entrance (see atomware-page-soft-in-fade).
 * The micro translateY entrance on `#atomware-staff-dashboard` leaves a transform on the root,
 * which makes `position: fixed` sidebars resolve against the dashboard instead of the viewport —
 * the client-filter drawer visually starts *under* the platform shell (“gap” above the sidebar).
 */
@media (max-width: 768px) {
	#atomware-staff-dashboard.atomware-dashboard {
		animation: atomware-page-soft-in-fade 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
		will-change: opacity;
	}
}

/* Staff team chat overlay — barely-there drift + fade */
@keyframes atomware-chat-overlay-soft-in {
	from {
		opacity: 0;
		transform: translateY(8px) scale(0.996);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

#atomware-team-chat-overlay:not([hidden]) {
	animation: atomware-chat-overlay-soft-in 0.34s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
	will-change: opacity, transform;
}

@media (prefers-reduced-motion: reduce) {
	#atomware-staff-dashboard.atomware-dashboard,
	#atomware-client-portal.atomware-portal,
	#atomware-crm.atomware-crm-wrapper,
	#atomware-smm.atomware-smm-wrap,
	#atomware-kb.atomware-kb-wrapper,
	#atomware-team-chat-overlay:not([hidden]) {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
		will-change: auto !important;
	}
}
