
	.login-page.svelte-vfc2gz {
		min-height: 100vh;
		display: flex;
		align-items: center;
		justify-content: center;
		/* Background handled by body global style, but ensure transparent here */
		background: transparent;
		padding: 1rem;
	}

	.login-card.svelte-vfc2gz {
		width: 100%;
		max-width: 400px;
		background: var(--bg-elevated);
		border: 1px solid var(--border-subtle);
		border-radius: 1rem;
		padding: 2.5rem 2rem;
		box-shadow: var(--shadow-soft);
	}

	.logo.svelte-vfc2gz {
		text-align: center;
		margin-bottom: 2.5rem;
	}

	.logo.svelte-vfc2gz h1:where(.svelte-vfc2gz) {
		font-size: 2rem;
		font-weight: 700;
		color: var(--text-main);
		margin-bottom: 0.5rem;
		letter-spacing: -0.02em;
	}

	.subtitle.svelte-vfc2gz {
		color: var(--text-muted);
		font-size: 0.875rem;
		text-transform: uppercase;
		letter-spacing: 0.1em;
	}

	.form-group.svelte-vfc2gz {
		margin-bottom: 1.5rem;
	}

	label.svelte-vfc2gz {
		display: block;
		margin-bottom: 0.5rem;
		font-size: 0.875rem;
		font-weight: 500;
		color: var(--text-main);
	}

	input.svelte-vfc2gz {
		width: 100%;
		padding: 0.75rem 1rem;
		border: 1px solid var(--border-subtle);
		border-radius: 0.5rem;
		background: var(--bg-page);
		color: var(--text-main);
		font-size: 0.95rem;
		transition: all 0.15s;
	}

	input.svelte-vfc2gz:focus {
		outline: none;
		border-color: var(--accent);
		box-shadow: 0 0 0 3px var(--accent-soft);
	}

	input.svelte-vfc2gz:disabled {
		opacity: 0.5;
		cursor: not-allowed;
	}

	.error-message.svelte-vfc2gz {
		padding: 0.75rem 1rem;
		background: rgba(239, 68, 68, 0.1);
		border: 1px solid rgba(239, 68, 68, 0.2);
		border-radius: 0.5rem;
		color: #fca5a5;
		font-size: 0.875rem;
		margin-bottom: 1.5rem;
	}

	.login-button.svelte-vfc2gz {
		width: 100%;
		padding: 0.75rem 1.5rem;
		background: linear-gradient(to right, var(--accent-strong), var(--accent));
		color: #0f172a; /* Dark text on bright button */
		border: none;
		border-radius: 999px;
		font-size: 0.95rem;
		font-weight: 600;
		cursor: pointer;
		transition: all 0.15s;
	}

	.login-button.svelte-vfc2gz:hover:not(:disabled) {
		filter: brightness(1.1);
		transform: translateY(-1px);
	}

	.login-button.svelte-vfc2gz:disabled {
		opacity: 0.5;
		cursor: not-allowed;
	}

	.footer.svelte-vfc2gz {
		margin-top: 2rem;
		text-align: center;
	}

	.text-muted.svelte-vfc2gz {
		color: var(--text-subtle);
	}
