@import "tailwindcss";
@import "@manacore/shared-tailwind/themes.css";

/* Scan shared packages for Tailwind classes */
@source "../../../packages/shared/src";
@source "../../../../../packages/shared-ui/src";
@source "../../../../../packages/shared-theme-ui/src";
@source "../../../../../packages/shared-theme-ui/src/components";
@source "../../../../../packages/shared-theme-ui/src/pages";

/* Contacts-specific CSS Variables */
@layer base {
	:root {
		/* Spacing */
		--spacing-xs: 0.25rem;
		--spacing-sm: 0.5rem;
		--spacing-md: 1rem;
		--spacing-lg: 1.5rem;
		--spacing-xl: 2rem;
		--spacing-2xl: 3rem;

		/* Border Radius */
		--radius-sm: 0.25rem;
		--radius-md: 0.5rem;
		--radius-lg: 0.75rem;
		--radius-xl: 1rem;
		--radius-full: 9999px;

		/* Transitions */
		--transition-fast: 150ms ease;
		--transition-base: 200ms ease;
		--transition-slow: 300ms ease;
	}
}

/* Utility Classes */
@layer components {
	/* Card styles */
	.card {
		background-color: var(--color-card);
		border-radius: var(--radius-lg);
		padding: var(--spacing-lg);
		border: 1px solid var(--color-border);
		transition: transform var(--transition-base), box-shadow var(--transition-base);
	}

	.card:hover {
		transform: translateY(-2px);
		box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
	}

	/* Contact card specific */
	.contact-card {
		display: flex;
		align-items: center;
		gap: var(--spacing-md);
		padding: var(--spacing-md);
		border-radius: var(--radius-md);
		border: 1px solid var(--color-border);
		background-color: var(--color-card);
		transition: all var(--transition-base);
	}

	.contact-card:hover {
		border-color: var(--color-primary);
		background-color: var(--color-accent);
	}

	/* Avatar styles */
	.avatar {
		width: 56px;
		height: 56px;
		min-width: 56px;
		border-radius: var(--radius-full);
		background-color: var(--color-primary);
		color: var(--color-primary-foreground);
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 600;
		font-size: 1.25rem;
	}

	.avatar-lg {
		width: 96px;
		height: 96px;
		font-size: 2.5rem;
	}

	/* Button styles */
	.btn {
		padding: var(--spacing-sm) var(--spacing-lg);
		border-radius: var(--radius-md);
		font-weight: 500;
		transition: all var(--transition-base);
		cursor: pointer;
		border: none;
	}

	.btn-primary {
		background: var(--color-primary);
		color: var(--color-primary-foreground);
	}

	.btn-primary:hover {
		filter: brightness(0.9);
	}

	/* Input styles */
	.input {
		padding: var(--spacing-sm) var(--spacing-md);
		border: 2px solid var(--color-border);
		border-radius: var(--radius-md);
		background-color: var(--color-background);
		color: var(--color-foreground);
		transition: border-color var(--transition-fast);
	}

	.input:focus {
		outline: none;
		border-color: var(--color-primary);
	}

	/* Tag styles */
	.tag {
		display: inline-flex;
		align-items: center;
		padding: 0.125rem 0.5rem;
		border-radius: var(--radius-full);
		font-size: 0.75rem;
		font-weight: 500;
	}
}

/* Shadow variables */
@layer base {
	:root {
		--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
		--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
		--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
		--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
	}

	.dark {
		--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
		--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
		--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
		--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5);
	}
}
