:root {
	color-scheme: light;
	--bg: #f4f5f9;
	--surface: #ffffff;
	--border: #e3e5ec;
	--text: #1e2130;
	--text-muted: #6b7280;
	--primary: #4f46e5;
	--primary-hover: #4338ca;
	--primary-soft: #eef2ff;
	--danger: #dc2626;
	--danger-soft: #fee2e2;
	--ok: #16a34a;
	--ok-soft: #dcfce7;
	--radius-lg: 14px;
	--radius-sm: 7px;
	--shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 4px 12px rgba(16, 24, 40, 0.06);
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	font-family:
		-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial,
		sans-serif;
	background: var(--bg);
	color: var(--text);
	-webkit-font-smoothing: antialiased;
}

.btn {
	appearance: none;
	border: 1px solid transparent;
	border-radius: var(--radius-sm);
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	transition:
		background 0.15s ease,
		border-color 0.15s ease;
}

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

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

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

.btn-secondary:hover {
	background: #e0e4ff;
}

.btn-danger {
	background: var(--danger-soft);
	color: var(--danger);
}

.btn-danger:hover {
	background: #fecaca;
}

.btn-ghost {
	background: transparent;
	color: var(--text-muted);
	border-color: var(--border);
}

.btn-ghost:hover {
	background: #f4f5f9;
}

.btn-sm {
	padding: 0.3rem 0.7rem;
	font-size: 0.8rem;
}

.error {
	color: var(--danger);
	font-size: 0.85rem;
	margin: 0 0 1rem;
}

.error:empty {
	display: none;
}

.site-footer {
	display: flex;
	gap: 1.25rem;
	justify-content: center;
	margin-top: 2rem;
	font-size: 0.8rem;
}

.site-footer a {
	color: var(--text-muted);
	text-decoration: none;
}

.site-footer a:hover {
	text-decoration: underline;
}
