:root {
	--bg-base: #0a0e14;
	--bg-surface: #131920;
	--bg-elevated: #1a2230;
	--bg-hover: #212b3c;
	--border: rgba(255, 255, 255, 0.07);
	--text-primary: #e8edf4;
	--text-muted: #7d8a9a;
	--accent: #f97316;
	--accent-hover: #fb923c;
	--accent-glow: rgba(249, 115, 22, 0.3);
	--success: #22c55e;
	--steam: #1b2838;
	--steam-hover: #2a475e;
	--radius: 14px;
	--radius-sm: 8px;
	--shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
	--transition: 0.2s ease;
}

* { box-sizing: border-box; }

body {
	background: var(--bg-base);
	background-image:
		radial-gradient(ellipse 90% 60% at 50% -30%, rgba(249, 115, 22, 0.14), transparent),
		radial-gradient(ellipse 50% 40% at 100% 80%, rgba(59, 130, 246, 0.07), transparent),
		url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	color: var(--text-primary);
	min-height: 100vh;
	font-family: "Inter", system-ui, -apple-system, sans-serif;
	-webkit-font-smoothing: antialiased;
}

/* ── Header ── */
.site-header {
	background: rgba(10, 14, 20, 0.88);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid var(--border);
	position: sticky;
	top: 0;
	z-index: 200;
}

.site-header .navbar-brand {
	display: flex;
	align-items: center;
	padding: 0;
}

.site-nav {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-left: auto;
	margin-right: 1rem;
}

.site-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--text-muted);
	text-decoration: none;
	font-size: 0.82rem;
	font-weight: 500;
	padding: 0.45rem 0.85rem;
	border-radius: var(--radius-sm);
	border: 1px solid transparent;
	transition: var(--transition);
}

.site-nav__link:hover {
	color: var(--text-primary);
	background: var(--bg-elevated);
}

.site-nav__link--active {
	color: var(--accent);
	background: rgba(249, 115, 22, 0.1);
	border-color: rgba(249, 115, 22, 0.25);
}

.site-footer__sep { color: var(--text-muted); opacity: 0.4; }

.site-footer__connect {
	color: var(--accent);
	text-decoration: none;
	font-size: 0.82rem;
}

.site-footer__connect:hover { color: var(--accent-hover); }

.site-logo {
	height: 42px;
	width: auto;
	display: block;
	transition: transform var(--transition);
}

.site-logo:hover {
	transform: scale(1.03);
}

.user-panel {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-left: auto;
}

.user-panel__avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 2px solid var(--border);
	object-fit: cover;
}

.user-panel__info { line-height: 1.2; }

.user-panel__name {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--text-primary);
	display: block;
	max-width: 140px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.user-panel__link {
	font-size: 0.7rem;
	color: var(--text-muted);
	text-decoration: none;
}

.user-panel__link:hover { color: var(--accent); }

.btn-logout {
	border: 1px solid rgba(239, 68, 68, 0.35);
	color: #f87171;
	background: transparent;
	font-size: 0.8rem;
	padding: 0.35rem 0.85rem;
	border-radius: var(--radius-sm);
	transition: var(--transition);
	text-decoration: none;
	margin-left: 0.5rem;
}

.btn-logout:hover {
	background: rgba(239, 68, 68, 0.12);
	color: #fca5a5;
}

.btn-nav-login {
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: var(--text-primary);
	background: var(--bg-elevated);
	font-size: 0.8rem;
	padding: 0.4rem 0.9rem;
	border-radius: var(--radius-sm);
	transition: var(--transition);
	text-decoration: none;
	margin-left: auto;
	white-space: nowrap;
}

.btn-nav-login:hover {
	border-color: var(--accent);
	color: var(--accent);
	background: rgba(249, 115, 22, 0.08);
}

/* ── Login ── */
.login-hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: calc(100vh - 140px);
	padding: 2rem 1.5rem 4rem;
	text-align: center;
}

.login-hero__logo {
	max-width: 200px;
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto 1.75rem;
	filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.55));
}

.login-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: rgba(249, 115, 22, 0.12);
	border: 1px solid rgba(249, 115, 22, 0.25);
	color: var(--accent);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	margin-bottom: 1.25rem;
}

.login-hero h1 {
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	margin-bottom: 0.75rem;
	background: linear-gradient(135deg, #fff 30%, #94a3b8);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.login-hero > p {
	color: var(--text-muted);
	font-size: 1.05rem;
	max-width: 460px;
	margin-bottom: 2rem;
	line-height: 1.65;
}

.login-features {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem;
	max-width: 720px;
	width: 100%;
	margin-top: 3rem;
}

.login-feature {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.25rem;
	text-align: left;
	transition: var(--transition);
}

.login-feature:hover {
	border-color: rgba(249, 115, 22, 0.3);
	transform: translateY(-2px);
}

.login-feature__icon {
	font-size: 1.5rem;
	margin-bottom: 0.6rem;
}

.login-feature h3 {
	font-size: 0.9rem;
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.login-feature p {
	font-size: 0.8rem;
	color: var(--text-muted);
	margin: 0;
	line-height: 1.5;
}

.btn-steam {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	background: linear-gradient(135deg, #1b2838, #2a475e);
	color: #fff !important;
	text-decoration: none;
	padding: 0.9rem 2rem;
	border-radius: var(--radius-sm);
	font-weight: 600;
	font-size: 1rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	transition: var(--transition);
	box-shadow: var(--shadow);
}

.btn-steam:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55);
	color: #fff !important;
}

.btn-steam svg { width: 22px; height: 22px; fill: currentColor; }

/* ── Dashboard ── */
.page-content { padding: 1.75rem 0 4rem; }

.dashboard-top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.25rem;
	margin-bottom: 1.75rem;
}

.page-title {
	font-size: 1.6rem;
	font-weight: 800;
	margin-bottom: 0.2rem;
	letter-spacing: -0.03em;
}

.page-subtitle {
	color: var(--text-muted);
	font-size: 0.875rem;
	margin: 0;
}

.stats-row {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.stat-card {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	padding: 0.65rem 1.1rem;
	min-width: 110px;
}

.stat-card__value {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--accent);
	line-height: 1;
}

.stat-card__label {
	font-size: 0.7rem;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-top: 0.15rem;
}

/* ── Toolbar ── */
.toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin-bottom: 1.75rem;
	padding: 0.85rem 1rem;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
}

.search-box {
	flex: 1;
	min-width: 200px;
	position: relative;
}

.search-box svg {
	position: absolute;
	left: 0.85rem;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	color: var(--text-muted);
	pointer-events: none;
}

.search-box input {
	width: 100%;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-primary);
	border-radius: var(--radius-sm);
	padding: 0.55rem 0.85rem 0.55rem 2.4rem;
	font-size: 0.875rem;
	transition: var(--transition);
}

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

.search-box input::placeholder { color: var(--text-muted); }

.category-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.category-pill {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-muted);
	font-size: 0.75rem;
	font-weight: 500;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	cursor: pointer;
	transition: var(--transition);
	white-space: nowrap;
}

.category-pill:hover,
.category-pill.active {
	background: rgba(249, 115, 22, 0.12);
	border-color: rgba(249, 115, 22, 0.35);
	color: var(--accent);
}

/* ── Sections ── */
.weapon-section {
	margin-bottom: 2.5rem;
	scroll-margin-top: 80px;
}

.weapon-section.hidden { display: none; }

.section-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid var(--border);
}

.section-header h3 {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--text-muted);
	margin: 0;
}

.section-header__count {
	font-size: 0.7rem;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-muted);
	padding: 0.15rem 0.5rem;
	border-radius: 999px;
}

.weapon-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 0.85rem;
}

.search-empty {
	display: none;
	text-align: center;
	padding: 3rem 1rem;
	color: var(--text-muted);
}

.search-empty.show { display: block; }

.search-empty__icon { font-size: 2.5rem; margin-bottom: 0.75rem; opacity: 0.5; }

/* ── Skin cards ── */
.skin-card {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
	transition: var(--transition);
	display: flex;
	flex-direction: column;
	position: relative;
}

.skin-card.hidden { display: none; }

.skin-card:hover {
	border-color: rgba(249, 115, 22, 0.4);
	box-shadow: 0 0 0 1px rgba(249, 115, 22, 0.12), var(--shadow);
	transform: translateY(-3px);
}

.skin-card--knife {
	border-color: rgba(249, 115, 22, 0.2);
	background: linear-gradient(180deg, rgba(249, 115, 22, 0.06) 0%, var(--bg-surface) 40%);
}

.skin-card--customized::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--accent), transparent);
}

.skin-card__badges {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	display: flex;
	gap: 0.3rem;
	z-index: 2;
}

.wear-badge {
	font-size: 0.6rem;
	font-weight: 700;
	padding: 0.15rem 0.4rem;
	border-radius: 4px;
	letter-spacing: 0.04em;
}

.wear-badge--fn { background: rgba(34, 197, 94, 0.2); color: #4ade80; }
.wear-badge--mw { background: rgba(59, 130, 246, 0.2); color: #60a5fa; }
.wear-badge--ft { background: rgba(234, 179, 8, 0.2); color: #facc15; }
.wear-badge--ww { background: rgba(249, 115, 22, 0.2); color: #fb923c; }
.wear-badge--bs { background: rgba(239, 68, 68, 0.2); color: #f87171; }

.skin-card__header {
	padding: 0.75rem 0.85rem 0.35rem;
	text-align: center;
}

.skin-card__weapon {
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--text-muted);
	font-weight: 600;
	margin-bottom: 0.1rem;
}

.skin-card__label {
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--accent);
	font-weight: 700;
	margin-bottom: 0.1rem;
}

.skin-card__name {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--text-primary);
	line-height: 1.3;
	margin: 0;
	word-break: break-word;
}

.skin-card__image-wrap {
	padding: 0.35rem 0.85rem;
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 90px;
	background: radial-gradient(ellipse at center, rgba(255,255,255,0.03) 0%, transparent 70%);
}

.skin-image {
	display: block;
	width: 78%;
	max-width: 130px;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.55));
	transition: transform 0.25s ease;
}

.skin-card:hover .skin-image { transform: scale(1.06) rotate(-1deg); }

.skin-card__footer {
	padding: 0.65rem 0.85rem 0.85rem;
	border-top: 1px solid var(--border);
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.skin-card__footer .form-select {
	background-color: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-primary);
	font-size: 0.78rem;
	border-radius: var(--radius-sm);
	padding: 0.4rem 1.75rem 0.4rem 0.65rem;
	cursor: pointer;
	transition: var(--transition);
}

.skin-card__footer .form-select:focus {
	border-color: var(--accent);
	box-shadow: 0 0 0 3px var(--accent-glow);
}

.btn-settings {
	background: transparent;
	border: 1px solid var(--border);
	color: var(--text-muted);
	font-size: 0.75rem;
	padding: 0.35rem 0.65rem;
	border-radius: var(--radius-sm);
	width: 100%;
	transition: var(--transition);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
}

.btn-settings:hover {
	border-color: var(--accent);
	color: var(--accent);
	background: rgba(249, 115, 22, 0.08);
}

/* ── Modals ── */
.modal-content {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}

.modal-header {
	border-bottom: 1px solid var(--border);
	padding: 1.25rem 1.5rem;
}

.modal-header .modal-title { font-weight: 700; font-size: 1rem; }

.modal-preview {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: var(--bg-elevated);
	border-radius: var(--radius-sm);
	margin-bottom: 1.25rem;
	min-height: 100px;
}

.modal-preview img {
	max-width: 160px;
	max-height: 80px;
	object-fit: contain;
	filter: drop-shadow(0 4px 12px rgba(0,0,0,0.5));
}

.wear-slider-wrap { margin-bottom: 1rem; }

.wear-slider {
	width: 100%;
	height: 6px;
	-webkit-appearance: none;
	appearance: none;
	background: linear-gradient(90deg, #22c55e, #eab308, #ef4444);
	border-radius: 999px;
	outline: none;
	cursor: pointer;
}

.wear-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 2px 8px rgba(0,0,0,0.4);
	cursor: pointer;
}

.modal-body .form-label {
	font-size: 0.78rem;
	color: var(--text-muted);
	font-weight: 500;
	margin-bottom: 0.3rem;
}

.modal-body .form-control,
.modal-body .form-select {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-primary);
	border-radius: var(--radius-sm);
	font-size: 0.875rem;
}

.modal-body .form-control:focus,
.modal-body .form-select:focus {
	border-color: var(--accent);
	box-shadow: 0 0 0 3px var(--accent-glow);
}

.modal-footer {
	border-top: 1px solid var(--border);
	padding: 1rem 1.5rem;
	gap: 0.5rem;
}

.modal-footer .btn-secondary {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-muted);
}

.modal-footer .btn-accent {
	background: var(--accent);
	border: none;
	color: #fff;
	font-weight: 600;
	padding: 0.5rem 1.25rem;
	border-radius: var(--radius-sm);
	transition: var(--transition);
}

.modal-footer .btn-accent:hover { background: var(--accent-hover); }

/* ── Footer ── */
.site-footer {
	border-top: 1px solid var(--border);
	padding: 1.25rem 0;
	margin-top: auto;
}

.site-footer span { color: var(--text-muted); font-size: 0.82rem; }

.site-footer__logo {
	height: 24px;
	width: auto;
	opacity: 0.7;
}

/* ── Toast ── */
.skin-toast {
	position: fixed;
	bottom: 1.5rem;
	left: 50%;
	transform: translateX(-50%) translateY(80px);
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-primary);
	padding: 0.75rem 1.25rem;
	border-radius: var(--radius-sm);
	font-size: 0.875rem;
	box-shadow: var(--shadow);
	opacity: 0;
	transition: transform 0.3s ease, opacity 0.3s ease;
	z-index: 9999;
	pointer-events: none;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.skin-toast.show {
	transform: translateX(-50%) translateY(0);
	opacity: 1;
}

.skin-toast--success { border-color: rgba(34, 197, 94, 0.4); }
.skin-toast--error { border-color: rgba(239, 68, 68, 0.4); }

/* ── Loader ── */
.page-loader {
	position: fixed;
	inset: 0;
	background: rgba(10, 14, 20, 0.7);
	backdrop-filter: blur(4px);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10000;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.page-loader.show { opacity: 1; pointer-events: all; }

.page-loader__spinner {
	width: 40px;
	height: 40px;
	border: 3px solid var(--border);
	border-top-color: var(--accent);
	border-radius: 50%;
	animation: spin 0.7s linear infinite;
}

@keyframes spin { to { transform: rotate(360deg); } }

/* ── Scroll top ── */
.scroll-top {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	width: 42px;
	height: 42px;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: 50%;
	color: var(--text-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: var(--transition);
	z-index: 100;
	box-shadow: var(--shadow);
}

.scroll-top.show { opacity: 1; pointer-events: all; }
.scroll-top:hover { border-color: var(--accent); color: var(--accent); }
.scroll-top svg { width: 18px; height: 18px; }

@media (max-width: 576px) {
	.user-panel__name { max-width: 90px; }
	.toolbar { flex-direction: column; align-items: stretch; }
	.category-pills { justify-content: center; }
	.stats-row { width: 100%; }
	.stat-card { flex: 1; }
	.site-nav { margin-right: 0; }
	.site-nav__link span { display: none; }
	.server-hero__actions { flex-direction: column; }
	.server-stats { grid-template-columns: repeat(2, 1fr); }
	.server-grid { grid-template-columns: 1fr; }
}

/* ── Server Dashboard ── */
.server-hero {
	text-align: center;
	padding: 2rem 0 1.5rem;
}

.server-hero__status {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.server-hero__status-text {
	font-size: 0.8rem;
	color: var(--text-muted);
	font-weight: 500;
}

.status-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	display: inline-block;
}

.status-dot--loading {
	background: var(--text-muted);
	animation: pulse 1.5s ease infinite;
}

.status-dot--online {
	background: var(--success);
	box-shadow: 0 0 8px rgba(34, 197, 94, 0.6);
}

.status-dot--offline {
	background: #ef4444;
	box-shadow: 0 0 8px rgba(239, 68, 68, 0.4);
}

@keyframes pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.4; }
}

.server-hero__title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	margin-bottom: 0.25rem;
}

.server-hero__address {
	color: var(--text-muted);
	font-size: 0.95rem;
	font-family: ui-monospace, monospace;
	margin-bottom: 1.25rem;
}

.server-hero__actions {
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	flex-wrap: wrap;
}

.btn-connect {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: linear-gradient(135deg, var(--accent), #ea580c);
	color: #fff !important;
	text-decoration: none;
	padding: 0.75rem 1.75rem;
	border-radius: var(--radius-sm);
	font-weight: 700;
	font-size: 1rem;
	border: none;
	transition: var(--transition);
	box-shadow: 0 4px 20px var(--accent-glow);
}

.btn-connect:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 30px var(--accent-glow);
	color: #fff !important;
}

.btn-copy {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	color: var(--text-muted);
	padding: 0.75rem 1.25rem;
	border-radius: var(--radius-sm);
	font-size: 0.875rem;
	font-weight: 500;
	cursor: pointer;
	transition: var(--transition);
}

.btn-copy:hover {
	border-color: var(--accent);
	color: var(--accent);
	background: rgba(249, 115, 22, 0.08);
}

.server-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.75rem;
	margin-bottom: 1.75rem;
}

.server-stat {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1rem;
	text-align: center;
	transition: var(--transition);
}

.server-stat:hover {
	border-color: rgba(249, 115, 22, 0.25);
}

.server-stat__icon { font-size: 1.25rem; margin-bottom: 0.35rem; }

.server-stat__value {
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--text-primary);
	line-height: 1.2;
}

.server-stat__label {
	font-size: 0.68rem;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-top: 0.2rem;
}

.server-grid {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 1rem;
	align-items: start;
}

.server-panel {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
	margin-bottom: 1rem;
}

.server-panel--admin {
	border-color: rgba(249, 115, 22, 0.25);
}

.panel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.85rem 1.1rem;
	border-bottom: 1px solid var(--border);
}

.panel-header h2 {
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--text-muted);
	margin: 0;
}

.panel-header__badge {
	font-size: 0.68rem;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-muted);
	padding: 0.15rem 0.5rem;
	border-radius: 999px;
}

.panel-header__badge--admin {
	background: rgba(249, 115, 22, 0.15);
	border-color: rgba(249, 115, 22, 0.35);
	color: var(--accent);
}

.map-preview {
	position: relative;
	aspect-ratio: 16/7;
	background: var(--bg-elevated);
	overflow: hidden;
}

.map-preview__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.map-preview__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10, 14, 20, 0.92) 0%, transparent 60%);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 1.25rem;
}

.map-preview__label {
	font-size: 1.4rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.map-preview__id {
	font-size: 0.75rem;
	color: var(--text-muted);
	font-family: ui-monospace, monospace;
}

.player-list-section { padding: 0 0 0.5rem; }

.player-list { max-height: 360px; overflow-y: auto; }

.player-list__empty {
	padding: 2rem 1rem;
	text-align: center;
	color: var(--text-muted);
	font-size: 0.875rem;
}

.player-list__header,
.player-row {
	display: grid;
	grid-template-columns: 1fr 60px 70px;
	gap: 0.5rem;
	padding: 0.55rem 1.1rem;
	align-items: center;
	font-size: 0.82rem;
}

.player-list__header {
	color: var(--text-muted);
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-bottom: 1px solid var(--border);
}

.player-row {
	border-bottom: 1px solid rgba(255, 255, 255, 0.03);
	transition: background var(--transition);
}

.player-row:hover { background: var(--bg-hover); }

.player-row__name {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.player-row__rank {
	font-size: 0.68rem;
	color: var(--text-muted);
	min-width: 1.2rem;
}

.player-row__score {
	text-align: center;
	color: var(--accent);
	font-weight: 600;
}

.player-row__time {
	text-align: right;
	color: var(--text-muted);
	font-size: 0.78rem;
}

.quick-links { padding: 0.5rem; }

.quick-link {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.75rem;
	border-radius: var(--radius-sm);
	text-decoration: none;
	color: inherit;
	transition: var(--transition);
}

.quick-link:hover {
	background: var(--bg-hover);
	color: inherit;
}

.quick-link__icon { font-size: 1.35rem; }

.quick-link__title {
	font-size: 0.875rem;
	font-weight: 600;
}

.quick-link__desc {
	font-size: 0.75rem;
	color: var(--text-muted);
}

.info-list {
	list-style: none;
	padding: 0.5rem 1.1rem 1rem;
	margin: 0;
}

.info-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.45rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.03);
	font-size: 0.82rem;
}

.info-list li span { color: var(--text-muted); }

.admin-section {
	padding: 0.85rem 1.1rem;
	border-bottom: 1px solid var(--border);
}

.admin-section:last-of-type { border-bottom: none; }

.admin-label {
	display: block;
	font-size: 0.72rem;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 0.45rem;
	font-weight: 600;
}

.admin-select {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-primary);
	font-size: 0.82rem;
	border-radius: var(--radius-sm);
	margin-bottom: 0.5rem;
}

.btn-admin {
	display: block;
	width: 100%;
	background: var(--accent);
	border: none;
	color: #fff;
	font-weight: 600;
	font-size: 0.82rem;
	padding: 0.5rem 1rem;
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: var(--transition);
}

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

.btn-admin--secondary {
	margin: 0.85rem 1.1rem 1rem;
	width: calc(100% - 2.2rem);
	background: transparent;
	border: 1px solid var(--border);
	color: var(--text-muted);
}

.btn-admin--secondary:hover {
	border-color: var(--accent);
	color: var(--accent);
	background: rgba(249, 115, 22, 0.08);
}

.gamemode-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.4rem;
}

.gamemode-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.2rem;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-primary);
	padding: 0.55rem 0.35rem;
	border-radius: var(--radius-sm);
	cursor: pointer;
	font-size: 0.72rem;
	font-weight: 500;
	transition: var(--transition);
}

.gamemode-btn:hover {
	border-color: var(--accent);
	background: rgba(249, 115, 22, 0.1);
	color: var(--accent);
}

.gamemode-btn__icon { font-size: 1.1rem; }

.admin-say {
	display: flex;
	gap: 0.4rem;
}

.admin-say .form-control {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-primary);
	font-size: 0.82rem;
	border-radius: var(--radius-sm);
	flex: 1;
}

.admin-say .btn-admin {
	width: auto;
	flex-shrink: 0;
	padding: 0.5rem 0.85rem;
}

.server-refresh-note {
	text-align: center;
	color: var(--text-muted);
	font-size: 0.75rem;
	margin-top: 1rem;
}

.site-nav__link--admin { color: #fbbf24; }
.site-nav__link--admin.site-nav__link--active {
	color: #fbbf24;
	background: rgba(251, 191, 36, 0.12);
	border-color: rgba(251, 191, 36, 0.3);
}

.admin-promo {
	padding: 0 1.1rem;
	font-size: 0.82rem;
	color: var(--text-muted);
	margin: 0 0 0.75rem;
	line-height: 1.5;
}

.btn-admin--full {
	margin: 0 1.1rem 1rem;
	width: calc(100% - 2.2rem);
	text-align: center;
	text-decoration: none;
	display: block;
}

.btn-admin--danger {
	background: #dc2626;
}

.btn-admin--danger:hover { background: #ef4444; }

/* ── Admin Page ── */
.admin-page__header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.admin-page__status {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.82rem;
	color: var(--text-muted);
}

.admin-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-bottom: 1.25rem;
	padding: 0.35rem;
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
}

.admin-tab {
	background: transparent;
	border: none;
	color: var(--text-muted);
	font-size: 0.78rem;
	font-weight: 600;
	padding: 0.5rem 0.85rem;
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: var(--transition);
}

.admin-tab:hover { color: var(--text-primary); background: var(--bg-elevated); }

.admin-tab.active {
	color: var(--accent);
	background: rgba(249, 115, 22, 0.12);
}

.admin-tab-panel { display: none; }
.admin-tab-panel.active { display: block; }

.admin-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.admin-card {
	background: var(--bg-surface);
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	padding: 0.85rem 1rem;
}

.admin-card__label {
	font-size: 0.68rem;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.admin-card__value {
	font-size: 1.1rem;
	font-weight: 700;
	margin-top: 0.15rem;
}

.admin-card__value--sm { font-size: 0.75rem; font-weight: 500; word-break: break-all; }

.admin-panel-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
}

.quick-actions-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 0.45rem;
	padding: 0.85rem 1.1rem 1.1rem;
}

.quick-action-btn {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-primary);
	font-size: 0.75rem;
	font-weight: 500;
	padding: 0.55rem 0.5rem;
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: var(--transition);
}

.quick-action-btn:hover {
	border-color: var(--accent);
	color: var(--accent);
	background: rgba(249, 115, 22, 0.08);
}

.quick-action-btn--practice {
	border-color: rgba(34, 197, 94, 0.35);
	color: #4ade80;
}

.admin-table-wrap { overflow-x: auto; }

.admin-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.82rem;
}

.admin-table th,
.admin-table td {
	padding: 0.65rem 1.1rem;
	border-bottom: 1px solid var(--border);
	text-align: left;
}

.admin-table th {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--text-muted);
	background: var(--bg-elevated);
}

.admin-table .mono {
	font-family: ui-monospace, monospace;
	font-size: 0.75rem;
	color: var(--text-muted);
}

.admin-table__actions { white-space: nowrap; }

.btn-table {
	border: 1px solid var(--border);
	background: transparent;
	color: var(--text-muted);
	font-size: 0.72rem;
	padding: 0.25rem 0.5rem;
	border-radius: 4px;
	cursor: pointer;
	margin-right: 0.25rem;
	transition: var(--transition);
}

.btn-table--kick:hover { border-color: #f59e0b; color: #f59e0b; }
.btn-table--ban:hover { border-color: #ef4444; color: #ef4444; }
.btn-table--unban:hover { border-color: var(--success); color: var(--success); }

.btn-sm-admin {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-muted);
	font-size: 0.72rem;
	padding: 0.25rem 0.6rem;
	border-radius: 4px;
	cursor: pointer;
}

.admin-input { margin-bottom: 0; }

.admin-hint {
	font-size: 0.78rem;
	color: var(--text-muted);
	margin: 0 1.1rem 0.75rem;
}

.console-input-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0 1.1rem 0.85rem;
}

.console-prompt {
	color: var(--accent);
	font-weight: 700;
	font-family: ui-monospace, monospace;
}

.console-input {
	font-family: ui-monospace, monospace;
	font-size: 0.85rem;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-primary);
}

.console-output-wrap {
	margin: 0 1.1rem 1rem;
}

.console-output {
	background: #06080c;
	border: 1px solid var(--border);
	border-radius: var(--radius-sm);
	padding: 1rem;
	min-height: 200px;
	max-height: 400px;
	overflow: auto;
	font-family: ui-monospace, monospace;
	font-size: 0.78rem;
	color: #a3e635;
	white-space: pre-wrap;
	word-break: break-all;
	margin: 0;
}

.console-presets {
	padding: 0 1.1rem 1.1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: center;
}

.console-preset {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-muted);
	font-size: 0.72rem;
	font-family: ui-monospace, monospace;
	padding: 0.3rem 0.55rem;
	border-radius: 4px;
	cursor: pointer;
}

.console-preset:hover { border-color: var(--accent); color: var(--accent); }

.settings-grid { padding: 0.5rem 1.1rem 1rem; }

.setting-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid rgba(255,255,255,0.03);
}

.setting-row label {
	font-size: 0.82rem;
	color: var(--text-muted);
	min-width: 140px;
}

.setting-row .form-select,
.setting-row .form-control {
	max-width: 200px;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	color: var(--text-primary);
	font-size: 0.82rem;
}

.admin-denied {
	text-align: center;
	padding: 4rem 1rem;
}

.admin-denied h1 { margin-bottom: 0.75rem; }
.admin-denied p { color: var(--text-muted); margin-bottom: 1.5rem; }

@media (max-width: 992px) {
	.server-grid { grid-template-columns: 1fr; }
	.server-sidebar { order: -1; }
	.admin-tabs { overflow-x: auto; flex-wrap: nowrap; }
}
