:root {
	--szl-beige: #f4efe7;
	--szl-gold: #c6a15b;
	--szl-brown: #5a3a29;
	--szl-green: #2f7456;
}
.szl-elite-badge {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .35rem .65rem;
	border: 1px solid var(--szl-gold);
	border-radius: 999px;
	background: #fffaf0;
	color: var(--szl-brown);
	font: 700 12px/1.2 Georgia, serif;
	letter-spacing: .08em;
}
.szl-elite-gate {
	padding: 24px;
	border: 1px solid rgba(198,161,91,.55);
	border-radius: 18px;
	background: var(--szl-beige);
	text-align: center;
}
.szl-elite-gate a,
.szl-guide-open,
.szl-guide-done {
	display: inline-block;
	padding: 11px 18px;
	border: 0;
	border-radius: 999px;
	background: var(--szl-brown);
	color: #fff;
	text-decoration: none;
	cursor: pointer;
}
.szl-core-admin { max-width: 1180px; }
.szl-core-hero {
	margin: 24px 0;
	padding: 28px;
	border-radius: 22px;
	background: linear-gradient(135deg, var(--szl-beige), #fff);
	border: 1px solid rgba(198,161,91,.45);
}
.szl-core-hero span { color: var(--szl-gold); font-weight: 800; letter-spacing: .14em; }
.szl-core-hero h1 { color: var(--szl-brown); font-family: Georgia, serif; }
.szl-core-health, .szl-core-modules {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 16px;
}
.szl-core-health > div, .szl-core-modules article {
	padding: 20px;
	border: 1px solid #e2d8c8;
	border-radius: 16px;
	background: #fff;
}
.szl-core-health strong { display: block; color: var(--szl-green); font-size: 26px; }
.szl-core-module-title { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.szl-core-module-title h3 { margin-top: 0; color: var(--szl-brown); }
.szl-core-modules small { font-weight: 700; }
.szl-core-modules .is-active { color: var(--szl-green); }
.szl-core-modules .is-planned { color: #806d55; }
.szl-core-modules .is-missing { color: #a13b36; }
.szl-guide-dialog {
	width: min(520px, calc(100% - 32px));
	padding: 30px;
	border: 1px solid var(--szl-gold);
	border-radius: 22px;
	background: #fffdf9;
	color: var(--szl-brown);
	box-shadow: 0 24px 80px rgba(45,31,21,.22);
}
.szl-guide-dialog::backdrop { background: rgba(45,31,21,.58); }
.szl-guide-dialog > span { color: var(--szl-gold); font-weight: 800; letter-spacing: .12em; }
.szl-guide-dialog h2 { font-family: Georgia, serif; }
.szl-guide-dialog li { margin: 12px 0; padding-left: 6px; }
.szl-guide-close {
	float: right;
	border: 0;
	background: transparent;
	color: var(--szl-brown);
	font-size: 30px;
	cursor: pointer;
}
@media (max-width: 600px) {
	.szl-core-module-title { display: block; }
	.szl-core-module-title .szl-elite-badge { margin-bottom: 8px; }
}

