/* German Roleplay UCP – Sidebar Layout */

:root {
	--grp-bg: #0a0d12;
	--grp-bg-elevated: #121820;
	--grp-surface: #181f28;
	--grp-sidebar: #11161d;
	--grp-border: #273241;
	--grp-border-light: #354656;
	--grp-gold: #d4af37;
	--grp-gold-soft: #e8c96a;
	--grp-red: #9b1c31;
	--grp-red-hover: #c4243d;
	--grp-text: #eef2f7;
	--grp-text-muted: #8b9aab;
	--grp-success: #3ecf7a;
	--grp-danger: #f07171;
	--grp-sidebar-w: 248px;
	--grp-radius: 10px;
	--grp-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
	--grp-btn-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
	--grp-btn-shadow-hover: 0 6px 18px rgba(0, 0, 0, 0.28);
}

*, html, body {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html { min-height: 100%; }

body {
	background: var(--grp-bg) !important;
	background-image:
		radial-gradient(ellipse 70% 45% at 80% 0%, rgba(155, 28, 49, 0.14), transparent),
		radial-gradient(ellipse 50% 35% at 0% 100%, rgba(212, 175, 55, 0.06), transparent);
	color: var(--grp-text);
	font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
	font-size: 15px;
	line-height: 1.55;
	min-height: 100vh;
}

a {
	color: var(--grp-gold-soft);
	text-decoration: none;
	transition: color 0.15s ease;
}

a:hover, a:focus { color: #fff; text-decoration: none; }

.center { text-align: center; }

/* Layout */
.grp-layout {
	display: flex;
	min-height: 100vh;
}

.grp-layout-guest {
	flex-direction: column;
}

.grp-sidebar {
	width: var(--grp-sidebar-w);
	min-width: var(--grp-sidebar-w);
	background: var(--grp-sidebar);
	border-right: 1px solid var(--grp-border);
	display: flex;
	flex-direction: column;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: 100;
	overflow-y: auto;
}

.grp-sidebar-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 20px 18px;
	border-bottom: 1px solid var(--grp-border);
	text-decoration: none !important;
}

.grp-sidebar-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	border-bottom: 1px solid var(--grp-border);
}

.grp-sidebar-head .grp-sidebar-brand {
	flex: 1;
	min-width: 0;
	border-bottom: none;
	padding: 16px 12px 16px 18px;
}

.grp-nav-toggle {
	display: none;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 12px 14px 12px 0;
	padding: 0;
	border: 1px solid var(--grp-border);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.05);
	color: var(--grp-text);
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}

.grp-nav-toggle:hover,
.grp-nav-toggle:focus {
	background: rgba(255, 255, 255, 0.1);
	color: var(--grp-gold-soft);
	outline: none;
}

.grp-nav-toggle .fa {
	font-size: 16px;
	line-height: 1;
}

.grp-sidebar-brand img {
	width: 42px;
	height: 42px;
	filter: drop-shadow(0 2px 8px rgba(0,0,0,0.4));
}

.grp-sidebar-brand span {
	font-weight: 700;
	font-size: 12px;
	color: var(--grp-text);
	line-height: 1.35;
}

.grp-sidebar-nav {
	padding: 12px 10px 24px;
	flex: 1;
}

.grp-nav-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 14px;
	margin-bottom: 4px;
	border-radius: 8px;
	color: var(--grp-text-muted) !important;
	font-size: 14px;
	font-weight: 500;
	transition: background 0.15s, color 0.15s;
}

.grp-nav-link .fa {
	width: 18px;
	text-align: center;
	font-size: 15px;
}

.grp-nav-link:hover {
	background: rgba(255, 255, 255, 0.05);
	color: var(--grp-text) !important;
}

.grp-nav-link.grp-nav-active {
	background: linear-gradient(90deg, rgba(155, 28, 49, 0.45), rgba(155, 28, 49, 0.15));
	color: #fff !important;
	border-left: 3px solid var(--grp-gold);
	padding-left: 11px;
}

.grp-nav-group {
	margin: 6px 0 10px;
	padding: 2px 0;
}

.grp-nav-section {
	margin: 16px 12px 10px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.grp-nav-section-label {
	display: block;
	padding: 0 4px 2px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: rgba(255, 255, 255, 0.32);
}

.grp-nav-section-footer {
	margin-top: 18px;
	margin-bottom: 6px;
}

.grp-nav-group.grp-nav-active .grp-nav-group-title {
	color: var(--grp-gold-soft);
}

.grp-nav-group-server-tools .grp-nav-group-title .fa {
	color: #f0ad4e;
}

.grp-nav-group-title {
	display: block;
	padding: 8px 14px 6px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--grp-text-muted);
}

.grp-nav-group-title .fa {
	margin-right: 6px;
}

.grp-nav-group-title-link {
	text-decoration: none !important;
	color: var(--grp-text-muted) !important;
	border-radius: 6px;
	margin: 2px 4px;
	transition: background 0.15s, color 0.15s;
}

.grp-nav-group-title-link:hover {
	background: rgba(255, 255, 255, 0.04);
	color: var(--grp-text) !important;
}

.grp-nav-group-title-link.grp-nav-active {
	color: var(--grp-gold-soft) !important;
	background: rgba(212, 175, 55, 0.08);
}

.grp-nav-sublink {
	display: block;
	padding: 8px 14px 8px 38px;
	font-size: 13px;
	color: var(--grp-text-muted) !important;
	border-radius: 6px;
	margin: 2px 4px;
}

.grp-nav-sublink:hover {
	background: rgba(255, 255, 255, 0.04);
	color: var(--grp-text) !important;
}

.grp-nav-sublink.grp-nav-active {
	color: var(--grp-gold-soft) !important;
	background: rgba(212, 175, 55, 0.08);
}

.grp-nav-divider {
	height: 1px;
	margin: 14px 18px;
	background: var(--grp-border);
	opacity: 0.7;
}

.grp-spieler-search-card {
	margin-bottom: 20px;
}

.grp-spieler-search-form .form-control {
	min-width: 220px;
	margin-right: 8px;
}

.grp-nav-logout {
	margin-top: 10px;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	padding-top: 12px;
}

.grp-nav-external {
	color: var(--grp-text-muted);
}

.grp-nav-external:hover {
	color: var(--grp-accent) !important;
}

.grp-nav-logout:hover {
	color: var(--grp-danger) !important;
}

/* Main area */
.grp-main {
	flex: 1;
	margin-left: var(--grp-sidebar-w);
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.grp-main-guest {
	margin-left: 0;
}

.grp-topbar {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 16px 28px;
	border-bottom: 1px solid var(--grp-border);
	background: rgba(18, 24, 32, 0.6);
	backdrop-filter: blur(8px);
}

.grp-topbar-user {
	display: flex;
	align-items: center;
	gap: 12px;
}

.grp-topbar-user img {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	border: 2px solid var(--grp-border-light);
}

.grp-topbar-user strong {
	display: block;
	font-size: 14px;
	color: var(--grp-text);
}

.grp-topbar-user span {
	display: block;
	font-size: 12px;
	color: var(--grp-text-muted);
}

/* Guest bar */
.grp-guestbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 28px;
	border-bottom: 1px solid var(--grp-border);
	background: var(--grp-sidebar);
}

.grp-guestbar-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none !important;
}

.grp-guestbar-brand img { width: 36px; height: 36px; }
.grp-guestbar-brand span { font-weight: 700; color: var(--grp-text); }

.grp-guestbar-nav a {
	margin-left: 20px;
	color: var(--grp-text-muted) !important;
	font-size: 14px;
	font-weight: 500;
}

.grp-guestbar-nav a.active,
.grp-guestbar-nav a:hover {
	color: var(--grp-gold-soft) !important;
}

#main-content {
	flex: 1 0 auto;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 28px 28px 40px;
}

.grp-ucp-logo {
	display: block;
	max-width: 180px;
	margin: 0 auto 28px;
	filter: drop-shadow(0 4px 20px rgba(0, 0, 0, 0.5));
}

/* Page header */
.page-header,
.grp-page-header {
	margin: 0 0 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--grp-border);
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.grp-page-header-icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: linear-gradient(145deg, rgba(212, 175, 55, 0.22), rgba(155, 28, 49, 0.2));
	border: 1px solid rgba(212, 175, 55, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.grp-page-header-icon .fa {
	font-size: 22px;
	color: var(--grp-gold-soft);
}

.grp-page-header-text { flex: 1; min-width: 0; }

.page-header h1,
.grp-page-header h1 {
	font-size: 1.65rem;
	font-weight: 700;
	color: var(--grp-text);
	margin: 0;
}

.page-header h1 small,
.grp-page-header h1 small {
	display: block;
	margin-top: 6px;
	font-size: 0.92rem;
	font-weight: 400;
	color: var(--grp-text-muted) !important;
}

/* Panels */
.panel {
	background: var(--grp-surface);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	box-shadow: var(--grp-shadow);
	margin-bottom: 20px;
	overflow: hidden;
}

.panel-primary { border-color: var(--grp-border); }

.panel-default {
	background: var(--grp-surface);
	border-color: var(--grp-border);
}

.panel-heading {
	background: linear-gradient(135deg, rgba(155, 28, 49, 0.12), rgba(212, 175, 55, 0.05));
	border: none;
	border-bottom: 1px solid var(--grp-border);
	color: var(--grp-gold-soft);
	padding: 14px 20px;
}

.panel-title {
	font-size: 0.95rem;
	font-weight: 600;
	margin: 0;
	color: var(--grp-gold-soft);
}

.panel-body {
	background: rgba(255, 255, 255, 0.03);
	color: var(--grp-text);
	padding: 20px 22px;
}

.panel-primary > .panel-heading,
.panel-default > .panel-heading {
	background: linear-gradient(135deg, rgba(155, 28, 49, 0.12), rgba(212, 175, 55, 0.05));
	border-bottom: 1px solid var(--grp-border);
	color: var(--grp-gold-soft);
}

.panel-warning > .panel-heading {
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.14), rgba(212, 175, 55, 0.04));
	border-bottom: 1px solid rgba(212, 175, 55, 0.25);
}

.panel-success > .panel-heading {
	background: linear-gradient(135deg, rgba(62, 207, 122, 0.12), rgba(62, 207, 122, 0.04));
	border-bottom: 1px solid rgba(62, 207, 122, 0.25);
}

.panel-danger > .panel-heading {
	background: linear-gradient(135deg, rgba(155, 28, 49, 0.22), rgba(100, 15, 30, 0.12));
	border-bottom: 1px solid rgba(155, 28, 49, 0.35);
}

.panel-info > .panel-heading {
	background: linear-gradient(135deg, rgba(52, 120, 180, 0.15), rgba(52, 120, 180, 0.04));
	border-bottom: 1px solid rgba(52, 120, 180, 0.28);
}

.panel-body > .panel {
	margin-top: 16px;
	box-shadow: none;
}

.panel-body > .panel > .panel-heading {
	background: rgba(0, 0, 0, 0.25);
	border-bottom: 1px solid var(--grp-border);
}

.panel-body p { margin-bottom: 12px; }
.panel-body code {
	background: rgba(0, 0, 0, 0.35);
	color: var(--grp-gold-soft);
	padding: 2px 6px;
	border-radius: 4px;
}

/* Tables */
.table { color: var(--grp-text); margin-bottom: 0; }

.table > thead > tr > th {
	background: rgba(0, 0, 0, 0.3);
	border-bottom: 1px solid var(--grp-border-light) !important;
	border-top: none !important;
	color: var(--grp-gold-soft);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 12px 14px;
}

.table > tbody > tr > td {
	border-top: 1px solid var(--grp-border) !important;
	padding: 12px 14px;
}

.table > tbody > tr:hover { background: rgba(255, 255, 255, 0.03); }
.table-striped > tbody > tr:nth-of-type(odd) { background: rgba(0, 0, 0, 0.12); }
.table-striped > tbody > tr:nth-of-type(even) { background: transparent; }
.table > tbody > tr:nth-child(even) { background: rgba(0, 0, 0, 0.08); }

.text-muted { color: var(--grp-text-muted) !important; }

/* Stats */
.grp-stat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 12px;
	margin: 20px 0;
}

.grp-stat-card {
	background: rgba(0, 0, 0, 0.25);
	border: 1px solid var(--grp-border);
	border-radius: 8px;
	padding: 16px;
	text-align: center;
	min-height: 88px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.grp-stat-value {
	display: block;
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--grp-gold-soft) !important;
	line-height: 1.2;
}

.grp-stat-label {
	display: block;
	font-size: 10px;
	color: var(--grp-text-muted) !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-top: 6px;
}

.grp-stat-card-highlight {
	border-color: rgba(201, 162, 39, 0.45);
	background: rgba(201, 162, 39, 0.08);
}

.grp-account-stats-note {
	margin-bottom: 16px;
}

.grp-account-stats-sub {
	margin: 0 0 12px;
	font-size: 15px;
	color: var(--grp-gold-soft);
}

.grp-account-ep-table td:last-child {
	text-align: right;
	white-space: nowrap;
}

.grp-top-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 8px;
}

.grp-top-col h4 {
	font-size: 11px;
	font-weight: 700;
	color: var(--grp-gold);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--grp-border);
}

.grp-top-col ol { margin: 0; padding-left: 20px; }

.grp-status-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
}

.grp-status-online {
	background: rgba(62, 207, 122, 0.12);
	border: 1px solid rgba(62, 207, 122, 0.35);
	color: var(--grp-success);
}

.grp-status-offline {
	background: rgba(240, 113, 113, 0.1);
	border: 1px solid rgba(240, 113, 113, 0.3);
	color: var(--grp-danger);
}

.grp-server-offline-banner {
	margin: 16px 20px 20px;
	border-radius: var(--grp-radius);
}

.grp-action-bar {
	background: var(--grp-surface);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 14px 18px;
	margin-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.grp-action-bar strong { color: var(--grp-text-muted); }

.grp-action-bar .btn,
.grp-action-bar a.btn {
	margin-left: 0 !important;
}

.grp-welcome {
	background: linear-gradient(135deg, rgba(155, 28, 49, 0.2), rgba(212, 175, 55, 0.08));
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 16px 20px;
	margin-bottom: 20px;
}

.grp-welcome strong { color: var(--grp-gold-soft); }

.grp-account-hero {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	flex-wrap: wrap;
}

.grp-account-hero img {
	width: 96px;
	border-radius: 10px;
	border: 2px solid var(--grp-border-light);
}

.grp-bank-balance {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--grp-gold-soft);
	margin: 8px 0 20px;
}

.grp-license-table img,
.table img[src*="success.png"],
.table img[src*="error.png"] {
	width: 22px;
	height: 22px;
	vertical-align: middle;
}

.grp-vehicle-row {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	flex-wrap: wrap;
}

.grp-vehicle-thumb {
	width: 96px;
	max-width: 96px;
}

.grp-rank-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	vertical-align: middle;
}

.grp-rank-badge .fa { font-size: 10px; }

.grp-rank-scripter {
	background: rgba(56, 189, 248, 0.18);
	color: #38bdf8;
	border: 1px solid rgba(56, 189, 248, 0.35);
}

.grp-rank-scripter .fa-code {
	font-size: 11px;
}

.grp-rank-pl {
	background: rgba(155, 28, 49, 0.35);
	border: 1px solid rgba(155, 28, 49, 0.65);
	color: #ffb4b4;
}

.grp-rank-admin {
	background: rgba(155, 28, 49, 0.25);
	border: 1px solid rgba(155, 28, 49, 0.5);
	color: #ffb4b4;
}

.grp-rank-team {
	background: rgba(52, 120, 180, 0.15);
	border: 1px solid rgba(52, 120, 180, 0.35);
	color: #9ec5e8;
}

.grp-rank-player {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--grp-border);
	color: var(--grp-text-muted);
}

/* Mein Account */
.grp-account-page .grp-account-hero-card {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: space-between;
	align-items: stretch;
	background: linear-gradient(135deg, rgba(155, 28, 49, 0.18), rgba(212, 175, 55, 0.07));
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 24px 28px;
	margin-bottom: 24px;
}

.grp-account-hero-main {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	flex: 1 1 320px;
	min-width: 0;
}

.grp-account-hero-skin {
	width: 110px;
	height: auto;
	border-radius: 12px;
	border: 2px solid var(--grp-border-light);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.grp-account-hero-name {
	margin: 0 0 10px;
	font-size: 1.65rem;
	font-weight: 700;
	color: var(--grp-gold-soft);
}

.grp-account-chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

.grp-account-chip {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--grp-border);
	color: var(--grp-text);
}

.grp-account-chip-team {
	background: rgba(155, 28, 49, 0.2);
	border-color: rgba(155, 28, 49, 0.45);
	color: #ffb4b4;
}

.grp-account-chip-faction {
	background: rgba(52, 120, 180, 0.15);
	border-color: rgba(52, 120, 180, 0.35);
	color: #9ec5e8;
}

.grp-account-hero-meta {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
}

.grp-account-badge-row {
	margin-top: 8px;
}

.grp-account-hero-aside {
	flex: 0 1 240px;
	text-align: right;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.grp-account-wealth-label {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--grp-text-muted);
}

.grp-account-hero-aside .grp-bank-balance {
	margin: 4px 0 12px;
}

.grp-account-wealth-split {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 13px;
	color: var(--grp-text-muted);
	margin-bottom: 14px;
}

.grp-account-quick-links {
	justify-content: flex-end;
}

.grp-account-section {
	margin-bottom: 24px;
}

.grp-account-section-head {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin-bottom: 16px;
}

.grp-account-section-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: rgba(155, 28, 49, 0.25);
	border: 1px solid rgba(155, 28, 49, 0.45);
	color: var(--grp-gold-soft);
	flex-shrink: 0;
}

.grp-account-section-title {
	margin: 0 0 4px;
	font-size: 1.15rem;
	font-weight: 700;
}

.grp-account-section-desc {
	margin: 0;
	font-size: 13px;
	color: var(--grp-text-muted);
}

.grp-account-two-col {
	margin-bottom: 8px;
}

.grp-account-page .grp-account-card {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 18px 20px;
	margin-bottom: 20px;
	display: block;
}

.grp-account-page .grp-account-card-title {
	margin: 0 0 14px;
	font-size: 1rem;
	font-weight: 700;
	color: var(--grp-gold-soft);
}

.grp-account-page .grp-account-card-title .fa {
	margin-right: 8px;
	opacity: 0.85;
}

.grp-account-skill-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.grp-account-skill-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid var(--grp-border);
	font-size: 14px;
}

.grp-account-skill-list li:last-child {
	border-bottom: none;
}

.grp-account-play-table {
	margin-bottom: 8px;
}

.grp-account-play-total {
	margin: 0;
	font-size: 13px;
}

.grp-account-license-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 12px;
}

.grp-account-license-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 14px 10px;
	border-radius: 10px;
	border: 1px solid var(--grp-border);
	background: rgba(255, 255, 255, 0.03);
	text-align: center;
}

.grp-account-license-ok {
	border-color: rgba(76, 175, 80, 0.35);
	background: rgba(76, 175, 80, 0.08);
}

.grp-account-license-missing {
	opacity: 0.65;
}

.grp-account-license-name {
	font-size: 12px;
	font-weight: 600;
	color: var(--grp-text-muted);
}

.grp-account-license-status img {
	width: 24px;
	height: 24px;
}

.grp-account-bank-nr {
	margin: 14px 0 0;
	font-size: 13px;
}

.grp-account-vehicle-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 14px;
}

.grp-account-vehicle-card {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 12px 14px;
	border-radius: var(--grp-radius);
	border: 1px solid var(--grp-border);
	background: rgba(255, 255, 255, 0.03);
	transition: border-color 0.15s ease;
}

.grp-account-vehicle-card:hover {
	border-color: var(--grp-border-light);
}

.grp-account-vehicle-card img {
	width: 72px;
	height: auto;
	flex-shrink: 0;
}

.grp-account-vehicle-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 13px;
	min-width: 0;
}

.grp-account-vehicle-info strong {
	color: var(--grp-gold-soft);
}

.grp-account-security-card {
	margin-top: 8px;
}

.grp-account-email-line {
	margin-bottom: 0;
}

.grp-account-forgot {
	margin: 14px 0 0;
	font-size: 13px;
}

@media (max-width: 767px) {
	.grp-account-hero-aside {
		text-align: left;
		flex: 1 1 100%;
	}

	.grp-account-quick-links {
		justify-content: flex-start;
	}
}

/* Shared content layout (Bank, Fahrzeuge, Listen, Formulare) */
.grp-content-section {
	margin-bottom: 24px;
}

.grp-content-section-head {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin-bottom: 16px;
}

.grp-content-section-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: rgba(155, 28, 49, 0.25);
	border: 1px solid rgba(155, 28, 49, 0.45);
	color: var(--grp-gold-soft);
	flex-shrink: 0;
}

.grp-content-section-icon.grp-content-icon-blue {
	background: rgba(52, 120, 180, 0.2);
	border-color: rgba(52, 120, 180, 0.4);
}

.grp-content-section-icon.grp-content-icon-green {
	background: rgba(62, 207, 122, 0.15);
	border-color: rgba(62, 207, 122, 0.35);
}

.grp-content-section-title {
	margin: 0 0 4px;
	font-size: 1.15rem;
	font-weight: 700;
}

.grp-content-section-desc {
	margin: 0;
	font-size: 13px;
	color: var(--grp-text-muted);
}

.grp-content-card {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 18px 20px;
	margin-bottom: 20px;
}

.grp-content-card:last-child {
	margin-bottom: 0;
}

.grp-content-card-title {
	margin: 0 0 14px;
	font-size: 1rem;
	font-weight: 700;
	color: var(--grp-gold-soft);
}

.grp-content-card-title .fa {
	margin-right: 8px;
	opacity: 0.85;
}

.grp-ticket-grid .grp-content-card {
	height: 100%;
}

.grp-content-intro {
	background: linear-gradient(135deg, rgba(155, 28, 49, 0.1), rgba(212, 175, 55, 0.04));
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 16px 20px;
	margin-bottom: 20px;
}

.grp-content-intro p {
	margin: 0;
	font-size: 14px;
	color: var(--grp-text-muted);
	line-height: 1.55;
}

.grp-content-intro p + p {
	margin-top: 8px;
}

.grp-content-table-wrap {
	overflow-x: auto;
}

.grp-content-table-wrap .table {
	margin-bottom: 0;
}

.grp-empty-state {
	text-align: center;
	padding: 32px 20px;
	color: var(--grp-text-muted);
}

.grp-empty-state .fa {
	font-size: 2rem;
	opacity: 0.45;
	margin-bottom: 12px;
	display: block;
}

.grp-page-404-card {
	text-align: center;
	padding: 48px 28px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
}

.grp-page-404-code {
	font-size: 3rem;
	font-weight: 700;
	color: var(--grp-danger);
	margin-bottom: 8px;
	line-height: 1;
}

.grp-vehicle-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 14px;
}

.grp-vehicle-card {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 14px 16px;
	border-radius: var(--grp-radius);
	border: 1px solid var(--grp-border);
	background: rgba(255, 255, 255, 0.03);
}

.grp-vehicle-card img {
	width: 88px;
	height: auto;
	flex-shrink: 0;
	border-radius: 8px;
}

.grp-vehicle-card-body {
	flex: 1;
	min-width: 0;
}

.grp-vehicle-card-body h4 {
	margin: 0 0 8px;
	font-size: 1rem;
	color: var(--grp-gold-soft);
}

.grp-vehicle-card-meta {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 4px 12px;
	font-size: 13px;
}

.grp-vehicle-card-meta dt {
	color: var(--grp-text-muted);
	font-weight: 500;
	margin: 0;
}

.grp-vehicle-card-meta dd {
	margin: 0;
}

.grp-property-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 14px;
}

.grp-property-card {
	padding: 16px 18px;
	border-radius: var(--grp-radius);
	border: 1px solid var(--grp-border);
	background: rgba(255, 255, 255, 0.03);
}

.grp-property-card h4 {
	margin: 0 0 10px;
	font-size: 1rem;
	color: var(--grp-gold-soft);
}

.grp-property-card p {
	margin: 0 0 6px;
	font-size: 13px;
}

.grp-recent-reg-panel.grp-content-card {
	margin-bottom: 20px;
	padding: 0;
	overflow: hidden;
}

.grp-recent-reg-panel .grp-content-section-head {
	margin: 0;
	padding: 16px 20px;
	border-bottom: 1px solid var(--grp-border);
}

.grp-recent-reg-panel .grp-recent-reg-body {
	padding: 16px 20px;
}

.grp-dashboard-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin-top: 20px;
}

.grp-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-top: 16px;
}

.well {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	box-shadow: none;
	color: var(--grp-text);
}

.grp-admin-page .panel {
	margin-bottom: 20px;
}

.grp-admin-page .panel-body > .panel {
	border-radius: 8px;
}

.grp-faq-panel.panel,
.grp-legal-panel.panel,
.grp-commands-panel.panel {
	border-radius: var(--grp-radius);
}

.grp-topbar-user span .grp-rank-badge {
	margin-top: 4px;
}

.grp-team-panel .panel-heading .panel-title {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

/* Team page */
.grp-team-page .grp-team-hero {
	background: linear-gradient(135deg, rgba(52, 120, 180, 0.22), rgba(155, 28, 49, 0.12));
	border: 1px solid rgba(52, 120, 180, 0.32);
	border-radius: var(--grp-radius);
	padding: 24px 28px;
	margin-bottom: 22px;
	display: flex;
	gap: 20px;
	align-items: flex-start;
	flex-wrap: wrap;
}

.grp-team-hero-icon {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: linear-gradient(145deg, rgba(52, 120, 180, 0.4), rgba(155, 28, 49, 0.28));
	border: 1px solid rgba(52, 120, 180, 0.45);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.grp-team-hero-icon .fa {
	font-size: 26px;
	color: #9ec5e8;
}

.grp-team-hero-body { flex: 1; min-width: 220px; }

.grp-team-hero-body h2 {
	margin: 0 0 8px;
	font-size: 1.35rem;
	color: var(--grp-text);
	font-weight: 700;
}

.grp-team-hero-body p {
	margin: 0;
	color: var(--grp-text-muted);
	max-width: 680px;
	line-height: 1.55;
}

.grp-team-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 14px;
	margin-bottom: 22px;
}

.grp-team-stat {
	background: var(--grp-surface);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 16px 18px;
	text-align: center;
}

.grp-team-stat-online {
	border-color: rgba(62, 207, 122, 0.35);
	background: rgba(62, 207, 122, 0.06);
}

.grp-team-stat-ok .grp-team-stat-value { color: var(--grp-success); }
.grp-team-stat-off .grp-team-stat-value { color: var(--grp-danger); }

.grp-team-stat-value {
	display: block;
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--grp-gold-soft);
	line-height: 1.2;
}

.grp-team-stat-label {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	color: var(--grp-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.grp-team-actions {
	margin-bottom: 22px;
}

.grp-team-section-title {
	font-size: 1.1rem;
	color: var(--grp-gold-soft);
	margin: 0 0 16px;
	font-weight: 600;
}

.grp-team-section-title .fa {
	margin-right: 8px;
	opacity: 0.85;
}

.grp-team-rank-block {
	margin-bottom: 24px;
	background: var(--grp-surface);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	overflow: hidden;
}

.grp-team-rank-head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding: 14px 18px;
	background: rgba(0, 0, 0, 0.18);
	border-bottom: 1px solid var(--grp-border);
}

.grp-team-rank-head h3,
.grp-team-rank-head-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	color: var(--grp-text);
	flex: 1;
	min-width: 120px;
}

.grp-team-rank-head-title .grp-rank-badge {
	font-size: inherit;
}

.grp-team-rank-count {
	font-size: 12px;
	font-weight: 700;
	padding: 2px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--grp-border);
	color: var(--grp-text-muted);
}

.grp-team-member-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px;
	padding: 16px 18px 18px;
}

.grp-team-member-card {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 12px 14px;
	border-radius: 10px;
	border: 1px solid var(--grp-border);
	background: rgba(255, 255, 255, 0.02);
	transition: border-color 0.15s ease, background 0.15s ease;
}

.grp-team-member-card:hover {
	border-color: rgba(52, 120, 180, 0.35);
	background: rgba(52, 120, 180, 0.05);
}

.grp-team-member-online {
	border-color: rgba(62, 207, 122, 0.28);
	background: rgba(62, 207, 122, 0.04);
}

.grp-team-member-skin {
	position: relative;
	flex-shrink: 0;
}

.grp-team-member-skin img {
	width: 48px;
	height: 48px;
	border-radius: 8px;
	border: 1px solid var(--grp-border);
	background: var(--grp-bg);
	object-fit: cover;
}

.grp-team-member-dot {
	position: absolute;
	right: -2px;
	bottom: -2px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--grp-success);
	border: 2px solid var(--grp-surface);
	box-shadow: 0 0 6px rgba(62, 207, 122, 0.6);
}

.grp-team-member-body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.grp-team-member-name {
	font-size: 14px;
	color: var(--grp-text);
	word-break: break-word;
}

.grp-team-member-rank {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.grp-team-member-rank .grp-rank-badge {
	font-size: 10px;
	padding: 2px 6px;
}

.grp-team-member-level {
	font-size: 12px;
	color: var(--grp-text-muted);
}

.grp-team-status {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	font-weight: 600;
	margin-top: 2px;
}

.grp-team-status .fa { font-size: 8px; }

.grp-team-status-online { color: var(--grp-success); }
.grp-team-status-offline { color: var(--grp-text-muted); }

.grp-team-footnote {
	font-size: 13px;
	color: var(--grp-text-muted);
	margin-top: 8px;
	padding: 12px 16px;
	background: rgba(255, 255, 255, 0.03);
	border-radius: 8px;
	border: 1px solid var(--grp-border);
}

.grp-team-footnote .fa { margin-right: 6px; }

.grp-team-empty { margin-top: 12px; }

.grp-team-online-card {
	margin-bottom: 22px;
	border-radius: var(--grp-radius);
	border: 1px solid rgba(62, 207, 122, 0.28);
	background: linear-gradient(135deg, rgba(62, 207, 122, 0.08), rgba(0, 0, 0, 0.12));
	overflow: hidden;
}

.grp-team-online-card-head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 1px solid rgba(62, 207, 122, 0.18);
}

.grp-team-online-card-head strong {
	display: block;
	color: var(--grp-text);
	font-size: 14px;
}

.grp-team-online-count {
	font-size: 12px;
	color: var(--grp-success);
}

.grp-team-online-pulse {
	color: var(--grp-success);
	font-size: 10px;
	animation: grp-team-pulse 1.8s ease-in-out infinite;
}

@keyframes grp-team-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.35; }
}

.grp-team-online-chat-btn {
	margin-left: auto;
}

.grp-team-online-card-body {
	padding: 14px 18px;
}

.grp-team-online-card-foot {
	padding: 10px 18px 14px;
	border-top: 1px solid var(--grp-border);
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.grp-team-skin {
	width: 48px;
	padding: 8px 10px !important;
}

.grp-team-skin img {
	width: 36px;
	height: 36px;
	border-radius: 6px;
	border: 1px solid var(--grp-border);
	background: var(--grp-bg);
}

.grp-team-online-panel {
	margin-bottom: 20px;
	border-color: rgba(62, 207, 122, 0.22);
}

.grp-team-online-panel .panel-heading {
	background: rgba(62, 207, 122, 0.06);
}

.grp-team-online-hint {
	font-size: 12px;
	margin-bottom: 10px;
}

.grp-team-online-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.grp-team-online-item {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding: 8px 0;
	border-bottom: 1px solid var(--grp-border);
}

.grp-team-online-item:last-child {
	border-bottom: none;
}

.grp-team-online-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--grp-success);
	box-shadow: 0 0 6px rgba(62, 207, 122, 0.55);
	flex-shrink: 0;
}

.grp-team-online-empty {
	margin: 0;
	font-size: 14px;
}

/* Alerts */
.alert {
	border-radius: 8px;
	border: 1px solid transparent;
	padding: 14px 18px;
	margin-bottom: 16px;
}

.alert-info {
	background: rgba(52, 120, 180, 0.12);
	border-color: rgba(52, 120, 180, 0.3);
	color: #9ec5e8;
}

.alert-warning {
	background: rgba(212, 175, 55, 0.1);
	border-color: rgba(212, 175, 55, 0.3);
	color: var(--grp-gold-soft);
}

.alert-success {
	background: rgba(62, 207, 122, 0.1);
	border-color: rgba(62, 207, 122, 0.3);
	color: var(--grp-success);
}

.alert-danger, .label-danger {
	background: rgba(240, 113, 113, 0.12);
	border-color: rgba(240, 113, 113, 0.3);
	color: var(--grp-danger);
}

.label {
	border-radius: 6px;
	padding: 5px 10px;
	font-weight: 500;
	display: inline-block;
}

/* Forms */
.grp-login-page {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: calc(100vh - 140px);
	padding-top: 24px;
	padding-bottom: 48px;
}

.grp-login-page .grp-ucp-logo {
	margin-bottom: 20px;
}

#login-form,
.grp-login-card {
	max-width: 420px;
	width: calc(100% - 32px);
	margin: 0 auto;
	padding: 32px 28px 26px;
	background: linear-gradient(180deg, rgba(24, 31, 40, 0.98) 0%, rgba(18, 24, 32, 0.98) 100%);
	border: 1px solid var(--grp-border);
	border-radius: 14px;
	box-shadow: var(--grp-shadow), 0 0 0 1px rgba(255, 255, 255, 0.03) inset;
}

#login-form h2,
.grp-login-card h2 {
	margin: 0 0 8px;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	color: var(--grp-text);
	letter-spacing: 0.01em;
}

.grp-login-sub {
	margin: 0 0 24px;
	text-align: center;
	color: var(--grp-text-muted);
	font-size: 14px;
	line-height: 1.45;
}

.grp-login-card .form-group {
	margin-bottom: 18px;
}

.grp-login-card .form-group label {
	display: block;
	margin-bottom: 6px;
}

#login-form .btn-primary,
.grp-login-card .btn-primary.btn-block {
	width: 100%;
	min-height: 48px;
	padding: 13px 20px;
	font-size: 15px;
	margin-top: 6px;
	border-radius: 10px;
}

#login-form .btn-primary .fa,
.grp-login-card .btn-primary .fa {
	font-size: 16px;
}

#login-form .alert,
.grp-login-card .alert {
	margin-bottom: 16px;
	padding: 10px 14px;
	font-size: 14px;
}

.grp-login-hint {
	margin: 20px 0 0;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	font-size: 13px;
	text-align: center;
}

.grp-login-hint a {
	color: var(--grp-gold-soft);
	font-weight: 600;
}

.grp-login-hint a:hover {
	color: #fff;
}

.btn-block {
	display: flex;
	width: 100%;
}

.form-control {
	background: var(--grp-bg);
	border: 1px solid var(--grp-border-light);
	color: var(--grp-text);
	border-radius: 8px;
	height: 44px;
	padding: 10px 14px;
}

.form-control:-webkit-autofill,
.form-control:-webkit-autofill:hover,
.form-control:-webkit-autofill:focus,
.form-control:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 1000px var(--grp-bg) inset !important;
	box-shadow: 0 0 0 1000px var(--grp-bg) inset !important;
	-webkit-text-fill-color: var(--grp-text) !important;
	caret-color: var(--grp-text);
	border-color: var(--grp-border-light);
	transition: background-color 99999s ease-out 0s;
}

.form-control:-webkit-autofill:focus {
	border-color: var(--grp-gold);
	-webkit-box-shadow: 0 0 0 1000px var(--grp-bg) inset, 0 0 0 3px rgba(212, 175, 55, 0.12) !important;
	box-shadow: 0 0 0 1000px var(--grp-bg) inset, 0 0 0 3px rgba(212, 175, 55, 0.12) !important;
}

.form-control:focus {
	border-color: var(--grp-gold);
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.12);
	background: var(--grp-bg);
	color: var(--grp-text);
}

textarea.form-control { height: auto; min-height: 120px; }

label { color: var(--grp-text-muted); font-weight: 500; font-size: 13px; }

/* Buttons – global */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0.02em;
	border-radius: var(--grp-radius);
	border: 1px solid transparent;
	text-decoration: none !important;
	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
	box-shadow: var(--grp-btn-shadow);
	transition:
		transform 0.15s ease,
		box-shadow 0.2s ease,
		background 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

.btn .fa,
.btn .glyphicon {
	font-size: 0.95em;
	line-height: 1;
	opacity: 0.95;
}

.btn:hover,
.btn:focus {
	text-decoration: none !important;
	outline: none;
}

.btn:focus-visible {
	box-shadow: var(--grp-btn-shadow), 0 0 0 3px rgba(212, 175, 55, 0.22);
}

.btn:active {
	transform: translateY(0);
	box-shadow: var(--grp-btn-shadow);
}

.btn[disabled],
.btn.disabled,
fieldset[disabled] .btn {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none !important;
	box-shadow: none !important;
}

.btn-primary {
	background: linear-gradient(165deg, #d42a45 0%, var(--grp-red) 48%, #7a1528 100%);
	border-color: rgba(255, 255, 255, 0.08);
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(155, 28, 49, 0.32);
}

.btn-primary:hover,
.btn-primary:focus {
	background: linear-gradient(165deg, #e83552 0%, var(--grp-red-hover) 50%, #9b1c31 100%);
	border-color: rgba(255, 255, 255, 0.12);
	box-shadow: 0 8px 22px rgba(155, 28, 49, 0.42);
	transform: translateY(-2px);
	color: #fff !important;
}

.btn-default {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.02) 100%);
	border-color: var(--grp-border-light);
	color: var(--grp-text) !important;
}

.btn-default:hover,
.btn-default:focus {
	background: linear-gradient(180deg, rgba(212, 175, 55, 0.14) 0%, rgba(255, 255, 255, 0.06) 100%);
	border-color: rgba(212, 175, 55, 0.45);
	color: #fff !important;
	box-shadow: var(--grp-btn-shadow-hover);
	transform: translateY(-1px);
}

.btn-warning {
	background: linear-gradient(165deg, rgba(240, 173, 78, 0.35) 0%, rgba(212, 145, 45, 0.22) 100%);
	border-color: rgba(240, 173, 78, 0.55);
	color: #f5d08a !important;
}

.btn-warning:hover,
.btn-warning:focus {
	background: linear-gradient(165deg, rgba(240, 173, 78, 0.5) 0%, rgba(212, 145, 45, 0.35) 100%);
	border-color: rgba(240, 173, 78, 0.75);
	color: #fff !important;
	box-shadow: 0 6px 18px rgba(240, 173, 78, 0.22);
	transform: translateY(-1px);
}

.btn-success {
	background: linear-gradient(165deg, rgba(62, 207, 122, 0.28) 0%, rgba(42, 160, 95, 0.18) 100%);
	border-color: rgba(62, 207, 122, 0.45);
	color: var(--grp-success) !important;
}

.btn-success:hover,
.btn-success:focus {
	background: linear-gradient(165deg, rgba(62, 207, 122, 0.42) 0%, rgba(42, 160, 95, 0.3) 100%);
	border-color: rgba(62, 207, 122, 0.65);
	color: #fff !important;
	box-shadow: 0 6px 18px rgba(62, 207, 122, 0.2);
	transform: translateY(-1px);
}

.btn-danger {
	background: linear-gradient(165deg, rgba(196, 36, 61, 0.45) 0%, rgba(155, 28, 49, 0.35) 100%);
	border-color: rgba(196, 36, 61, 0.65);
	color: #ffc9c9 !important;
}

.btn-danger:hover,
.btn-danger:focus {
	background: linear-gradient(165deg, var(--grp-red-hover) 0%, var(--grp-red) 100%);
	border-color: var(--grp-red-hover);
	color: #fff !important;
	box-shadow: 0 6px 18px rgba(155, 28, 49, 0.35);
	transform: translateY(-1px);
}

.btn-xs {
	padding: 5px 11px;
	font-size: 12px;
	border-radius: 7px;
	gap: 5px;
}

.btn-sm {
	padding: 7px 14px;
	font-size: 13px;
	border-radius: 8px;
	gap: 6px;
}

.btn-lg {
	padding: 13px 22px;
	font-size: 15px;
	border-radius: 11px;
}

/* Abstand zwischen nebeneinander stehenden Buttons */
.btn + .btn,
.btn + a.btn,
a.btn + .btn,
a.btn + a.btn {
	margin-left: 10px;
}

.grp-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 6px;
}

.grp-btn-row .btn,
.grp-btn-row a.btn {
	margin-left: 0 !important;
}

.panel-body > form > .btn,
.panel-body > form > a.btn,
.panel-body > .grp-btn-row {
	margin-top: 4px;
}

.label-success {
	background: rgba(62, 207, 122, 0.15);
	border: 1px solid rgba(62, 207, 122, 0.35);
	color: var(--grp-success);
}

.grp-amount-plus { color: var(--grp-success) !important; font-weight: 600; }
.grp-amount-minus { color: var(--grp-danger) !important; font-weight: 600; }

.well {
	background: var(--grp-surface);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	color: var(--grp-text);
	box-shadow: var(--grp-shadow);
	padding: 24px;
}

.well-lg { padding: 32px; }

h2, h3, h4 { color: var(--grp-text); }
h2 small, h3 small { color: var(--grp-text-muted) !important; }

.form-group { margin-bottom: 18px; }

.pull-right { float: right; }

.grp-faction-title {
	margin: 0 0 16px;
	font-size: 1.4rem;
}

.grp-faction-title small {
	display: block;
	margin-top: 4px;
	font-size: 0.95rem;
}

/* Fraktionen-Übersicht */
.grp-faction-intro {
	margin-bottom: 8px;
	padding: 16px 18px;
	border-radius: var(--grp-radius);
	border: 1px solid var(--grp-border);
	background: rgba(255, 255, 255, 0.02);
}

.grp-faction-intro p {
	margin: 0;
	color: var(--grp-text-muted);
	line-height: 1.55;
}

.grp-faction-stat-grid {
	margin-top: 12px;
	margin-bottom: 28px;
}

.grp-faction-stat-player {
	font-size: 1.05rem !important;
	line-height: 1.35;
	word-break: break-word;
}

.grp-faction-section {
	margin-bottom: 32px;
}

.grp-faction-section-head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--grp-border);
}

.grp-faction-section-icon {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	border: 1px solid var(--grp-border);
	background: rgba(255, 255, 255, 0.04);
	color: var(--grp-gold-soft);
}

.grp-faction-section-icon.grp-faction-card-state {
	border-color: rgba(52, 120, 180, 0.35);
	background: rgba(52, 120, 180, 0.12);
	color: #9ec5e8;
}

.grp-faction-section-icon.grp-faction-card-org {
	border-color: rgba(142, 108, 198, 0.35);
	background: rgba(142, 108, 198, 0.12);
	color: #c9b3e8;
}

.grp-faction-section-icon.grp-faction-card-gang {
	border-color: rgba(207, 92, 72, 0.35);
	background: rgba(207, 92, 72, 0.12);
	color: #e8a99d;
}

.grp-faction-section-icon.grp-faction-card-other,
.grp-faction-section-icon.grp-faction-card-civilian,
.grp-faction-section-icon-civilian {
	border-color: rgba(201, 162, 39, 0.3);
	background: rgba(201, 162, 39, 0.08);
	color: var(--grp-gold-soft);
}

.grp-faction-section-title {
	margin: 0;
	font-size: 1.15rem;
	color: var(--grp-text);
}

.grp-faction-section-desc {
	margin: 2px 0 0;
	font-size: 13px;
	color: var(--grp-text-muted);
}

.grp-faction-section-count {
	margin-left: auto;
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--grp-border);
	color: var(--grp-text-muted);
}

.grp-faction-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 14px;
}

.grp-faction-card {
	display: flex;
	flex-direction: column;
	min-height: 190px;
	padding: 16px 16px 14px;
	border-radius: 12px;
	border: 1px solid var(--grp-border);
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.03) 0%, rgba(0, 0, 0, 0.18) 100%);
	transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.grp-faction-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

.grp-faction-card-state {
	border-color: rgba(52, 120, 180, 0.28);
}

.grp-faction-card-state:hover {
	border-color: rgba(52, 120, 180, 0.5);
}

.grp-faction-card-org {
	border-color: rgba(142, 108, 198, 0.28);
}

.grp-faction-card-org:hover {
	border-color: rgba(142, 108, 198, 0.5);
}

.grp-faction-card-gang {
	border-color: rgba(207, 92, 72, 0.28);
}

.grp-faction-card-gang:hover {
	border-color: rgba(207, 92, 72, 0.5);
}

.grp-faction-card-other,
.grp-faction-card-civilian {
	border-color: rgba(201, 162, 39, 0.22);
}

.grp-faction-card-mine {
	border-color: rgba(201, 162, 39, 0.55) !important;
	background: linear-gradient(160deg, rgba(201, 162, 39, 0.1) 0%, rgba(0, 0, 0, 0.2) 100%);
	box-shadow: 0 0 0 1px rgba(201, 162, 39, 0.08);
}

.grp-faction-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 10px;
}

.grp-faction-card-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	padding: 4px 10px;
	border-radius: 8px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: var(--grp-gold-soft);
}

.grp-faction-card-state .grp-faction-card-badge {
	background: rgba(52, 120, 180, 0.18);
	border-color: rgba(52, 120, 180, 0.35);
	color: #b8d4ef;
}

.grp-faction-card-org .grp-faction-card-badge {
	background: rgba(142, 108, 198, 0.18);
	border-color: rgba(142, 108, 198, 0.35);
	color: #d4c4ef;
}

.grp-faction-card-gang .grp-faction-card-badge {
	background: rgba(207, 92, 72, 0.18);
	border-color: rgba(207, 92, 72, 0.35);
	color: #efbfb5;
}

.grp-faction-card-id {
	font-size: 11px;
	font-weight: 700;
	color: var(--grp-text-muted);
	opacity: 0.85;
}

.grp-faction-card-name {
	margin: 0 0 4px;
	font-size: 1.05rem;
	line-height: 1.3;
	color: var(--grp-text);
}

.grp-faction-card-type {
	margin: 0 0 12px;
	font-size: 12px;
	color: var(--grp-text-muted);
}

.grp-faction-card-meta {
	margin-top: auto;
	padding-top: 8px;
	font-size: 13px;
	color: var(--grp-text-muted);
}

.grp-faction-card-meta i {
	margin-right: 6px;
	color: var(--grp-gold);
}

.grp-faction-card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.grp-faction-card-mine-tag {
	font-size: 11px;
	font-weight: 700;
	color: var(--grp-gold-soft);
	white-space: nowrap;
}

.grp-faction-card-mine-tag i {
	margin-right: 4px;
}

.grp-faction-card-locked {
	font-size: 12px;
	color: var(--grp-text-muted);
}

.grp-faction-card-locked i {
	margin-right: 5px;
	opacity: 0.85;
}

.grp-faction-card-btn {
	border-radius: 8px;
	font-weight: 600;
	margin-left: auto;
}

.grp-faction-card-btn .fa-angle-right {
	margin-left: 4px;
}

.img-thumbnail {
	background: var(--grp-bg);
	border-color: var(--grp-border);
	border-radius: 8px;
}

.radio-inline { color: var(--grp-text-muted); margin-right: 14px; }

/* Footer */
.grp-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	flex-shrink: 0;
	margin-top: auto;
	padding: 16px 28px;
	border-top: 1px solid var(--grp-border);
	font-size: 12px;
	color: var(--grp-text-muted);
	background: var(--grp-bg-elevated);
}

.grp-footer-left,
.grp-footer-right {
	flex: 1 1 auto;
}

.grp-footer-right {
	text-align: right;
}

.grp-footer a { color: var(--grp-gold) !important; }

.grp-footer a:hover { color: var(--grp-gold-soft) !important; }

@media (max-width: 640px) {
	.grp-footer-left,
	.grp-footer-right {
		flex-basis: 100%;
		text-align: center;
	}
}

/* FAQ spacing */
.grp-faq-panel .panel-body p { margin-bottom: 16px; }
.grp-faq-panel .panel-body p strong { color: var(--grp-gold-soft); }

.grp-faq-vehicle-toolbar {
	margin-bottom: 16px;
}

.grp-faq-vehicle-toolbar .form-control {
	max-width: 480px;
}

.grp-faq-vehicle-count {
	margin: 10px 0 0;
	font-size: 0.9rem;
}

.grp-faq-vehicle-table-wrap {
	max-height: 520px;
	overflow-y: auto;
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
}

.grp-faq-vehicle-table {
	margin-bottom: 0;
}

.grp-faq-vehicle-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: var(--grp-surface-elevated, var(--grp-surface));
	border-bottom-width: 1px;
}

.grp-faq-vehicle-table code {
	color: var(--grp-gold-soft);
	background: rgba(0, 0, 0, 0.25);
	padding: 2px 6px;
	border-radius: 4px;
}

.grp-vehicles-hero { margin-bottom: 20px; }
.grp-vehicles-panel { margin-bottom: 16px; }
.grp-vehicles-toolbar .col-md-6 { margin-bottom: 10px; }
.grp-vehicles-table-wrap { margin-bottom: 20px; }
.grp-vehicle-cat {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid var(--grp-border);
	color: var(--grp-text-muted) !important;
}
.grp-vehicles-footnote { margin-top: 8px; font-size: 13px; }

.grp-skins-hero { margin-bottom: 20px; }
.grp-skins-panel { margin-bottom: 16px; }
.grp-skins-cat-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.grp-skins-cat-nav .btn.active {
	background: rgba(212, 175, 55, 0.18);
	border-color: rgba(212, 175, 55, 0.45);
	color: var(--grp-gold-soft);
	font-weight: 600;
}
.grp-skins-toolbar .col-md-6 { margin-bottom: 10px; }
.grp-skins-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 14px;
	margin-bottom: 20px;
}
.grp-skin-card {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	overflow: hidden;
}
.grp-skin-card-img {
	background: rgba(0, 0, 0, 0.25);
	min-height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
}
.grp-skin-card-img img {
	max-height: 110px;
	max-width: 100%;
	object-fit: contain;
}
.grp-skin-card-body { padding: 12px 14px 14px; }
.grp-skin-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
}
.grp-skin-id {
	color: var(--grp-gold-soft);
	background: rgba(0, 0, 0, 0.25);
	padding: 2px 6px;
	border-radius: 4px;
}
.grp-skin-gender { font-size: 10px; }
.grp-skin-name {
	display: block;
	font-size: 13px;
	line-height: 1.35;
	margin-bottom: 6px;
}
.grp-skin-meta {
	margin: 0 0 4px;
	font-size: 12px;
}
.grp-skin-cats {
	margin: 0 0 6px;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}
.grp-skin-cat-tag {
	font-size: 10px;
	font-weight: 600;
}
.grp-skin-location {
	margin: 0;
	font-size: 11px;
	line-height: 1.35;
}
.grp-skins-footnote { margin-top: 8px; font-size: 13px; }

.grp-row-highlight {
	background: rgba(212, 175, 55, 0.08);
}

.grp-row-highlight td {
	border-color: rgba(212, 175, 55, 0.15) !important;
}

/* E-Mail verifizieren */
.grp-email-verify-form {
	margin-top: 8px;
}

.grp-email-verify-field {
	margin-bottom: 0;
}

.grp-email-verify-field .form-control {
	height: 48px;
	font-size: 15px;
}

.grp-email-verify-actions {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.grp-email-cta {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	width: 100%;
	padding: 16px 20px;
	text-align: left;
	border-radius: 10px;
	box-shadow: 0 6px 20px rgba(155, 28, 49, 0.25);
}

.grp-email-cta:hover:not(:disabled),
.grp-email-cta:focus:not(:disabled) {
	box-shadow: 0 8px 24px rgba(155, 28, 49, 0.4);
}

.grp-email-cta:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

.grp-email-cta-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.14);
	flex-shrink: 0;
	font-size: 18px;
}

.grp-email-cta-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1;
	line-height: 1.25;
}

.grp-email-cta-line {
	display: block;
	font-size: 13px;
	font-weight: 500;
	opacity: 0.92;
}

.grp-email-cta-text strong {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.grp-email-cta-arrow {
	font-size: 14px;
	opacity: 0.85;
	flex-shrink: 0;
}

.grp-email-resend-form {
	margin-top: 12px;
}

.grp-email-resend {
	width: 100%;
	padding: 11px 16px;
	border-radius: 8px;
}

.grp-email-verify-back {
	margin-top: 16px;
}

.grp-privacy-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 16px;
	padding: 12px 14px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--grp-text-muted);
	cursor: pointer;
	font-weight: normal;
}

.grp-privacy-consent input {
	margin-top: 3px;
	flex-shrink: 0;
}

.grp-privacy-consent a {
	color: var(--grp-gold-soft);
	text-decoration: underline;
}

/* Datenschutz / Legal */
.grp-legal-note {
	margin-bottom: 20px;
}

.grp-legal-panel .panel-body p,
.grp-legal-panel .panel-body li {
	line-height: 1.55;
}

.grp-legal-list {
	padding-left: 20px;
	margin-bottom: 12px;
}

.grp-legal-list li {
	margin-bottom: 8px;
}

.grp-legal-panel-highlight {
	border-color: rgba(212, 175, 55, 0.25);
}

.grp-legal-panel-highlight .panel-heading {
	background: rgba(212, 175, 55, 0.08);
}

.grp-legal-stand {
	margin-top: 8px;
	font-size: 12px;
}

/* Ingame-Befehle */
.grp-commands-intro {
	margin-bottom: 16px;
}

.grp-commands-toolbar {
	margin-bottom: 16px;
}

.grp-commands-search-form {
	margin-bottom: 12px;
}

.grp-commands-search-btn {
	margin-top: 0;
}

@media (max-width: 767px) {
	.grp-commands-search-btn {
		margin-top: 8px;
	}
}

.grp-commands-toolbar-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	padding-top: 4px;
	border-top: 1px solid var(--grp-border);
}

.grp-commands-toolbar-filters .btn {
	text-decoration: none !important;
	color: inherit;
}

.grp-commands-toolbar-filters .btn-default {
	color: var(--grp-text) !important;
}

.grp-commands-toolbar-filters .btn-warning {
	background: linear-gradient(165deg, rgba(240, 173, 78, 0.35) 0%, rgba(212, 145, 45, 0.22) 100%);
	border: 1px solid rgba(240, 173, 78, 0.55);
	color: #f5d08a !important;
}

.grp-commands-toolbar-filters .btn-warning:hover,
.grp-commands-toolbar-filters .btn-warning:focus {
	background: linear-gradient(165deg, rgba(240, 173, 78, 0.5) 0%, rgba(212, 145, 45, 0.35) 100%);
	border-color: rgba(240, 173, 78, 0.75);
	color: #fff !important;
}

.grp-commands-toolbar-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-top: 8px;
}

@media (min-width: 768px) {
	.grp-commands-toolbar-actions {
		margin-top: 0;
		justify-content: flex-end;
	}
}

.grp-commands-count {
	margin: 12px 0 8px;
	font-size: 12px;
}

.grp-commands-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.grp-commands-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 16px;
}

.grp-commands-panel .panel-heading .badge {
	background: rgba(0, 0, 0, 0.25);
	margin-left: 8px;
}

.grp-commands-table code {
	color: var(--grp-gold-soft);
	background: rgba(0, 0, 0, 0.25);
	border: none;
	font-size: 12px;
}

.grp-commands-table th,
.grp-commands-table td {
	vertical-align: top !important;
}

.grp-cmd-col-badge {
	width: 110px;
	white-space: nowrap;
	text-align: right;
}

.grp-cmd-badge {
	font-size: 10px;
	font-weight: 600;
}

.grp-cmd-row-admin {
	background: rgba(255, 153, 0, 0.04);
}

/* Admin-Verwaltung Karten */
.grp-admin-links-intro {
	margin-bottom: 14px;
	font-size: 13px;
}

.grp-admin-links {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.grp-admin-link-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border-radius: 10px;
	border: 1px solid var(--grp-border);
	background: rgba(0, 0, 0, 0.22);
	text-decoration: none !important;
	color: var(--grp-text) !important;
	transition: border-color 0.15s, background 0.15s, transform 0.1s;
}

.grp-admin-link-card:hover {
	border-color: var(--grp-border-light);
	background: rgba(255, 255, 255, 0.05);
	transform: translateX(2px);
	color: #fff !important;
}

.grp-admin-link-card-danger:hover {
	border-color: rgba(155, 28, 49, 0.55);
	background: rgba(155, 28, 49, 0.12);
}

.grp-admin-link-card-warning:hover {
	border-color: rgba(240, 173, 78, 0.55);
	background: rgba(240, 173, 78, 0.1);
}

.grp-admin-link-icon {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.06);
	color: var(--grp-gold-soft);
	font-size: 18px;
}

.grp-admin-link-icon-info {
	background: rgba(91, 192, 222, 0.15);
	color: #7ec8e3;
}

.grp-admin-link-icon-danger {
	background: rgba(155, 28, 49, 0.25);
	color: #ffb4b4;
}

.grp-admin-link-icon-warning {
	background: rgba(240, 173, 78, 0.2);
	color: #f5d08a;
}

.grp-admin-link-body {
	flex: 1;
	min-width: 0;
}

.grp-admin-link-body strong {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--grp-text);
}

.grp-admin-link-body small {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	color: var(--grp-text-muted);
}

.grp-admin-link-arrow {
	flex-shrink: 0;
	color: var(--grp-text-muted);
	font-size: 18px;
	opacity: 0.6;
}

.grp-admin-link-card:hover .grp-admin-link-arrow {
	opacity: 1;
	color: var(--grp-gold-soft);
}

/* Roadmap */
.grp-roadmap-intro {
	margin-bottom: 20px;
}

.grp-roadmap-board {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	align-items: start;
}

.grp-roadmap-column {
	background: rgba(0, 0, 0, 0.25);
	border: 1px solid rgba(212, 175, 55, 0.12);
	border-radius: 8px;
	padding: 12px;
	min-height: 120px;
}

.grp-roadmap-column-head {
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.grp-roadmap-column-head h4 {
	margin: 0 0 4px;
	color: var(--grp-gold-soft);
	font-size: 15px;
}

.grp-roadmap-column-head .badge {
	float: right;
	background: rgba(212, 175, 55, 0.2);
	color: var(--grp-gold-soft);
}

.grp-roadmap-card {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 6px;
	padding: 12px;
	margin-bottom: 10px;
}

.grp-roadmap-card h5 {
	margin: 8px 0 6px;
	font-size: 14px;
	color: #f5f5f5;
}

.grp-roadmap-card-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
}

.grp-roadmap-desc {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.72);
	margin: 0 0 10px;
	max-height: 96px;
	overflow: hidden;
}

.grp-roadmap-card-foot {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 11px;
}

.grp-roadmap-votes {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.grp-roadmap-vote-count {
	font-weight: 600;
	color: var(--grp-gold-soft);
}

.grp-roadmap-vote-form {
	margin: 0;
}

.grp-roadmap-empty {
	color: rgba(255, 255, 255, 0.45);
	font-size: 12px;
	padding: 8px 4px;
}

.grp-roadmap-admin-actions a,
.grp-roadmap-admin-actions .btn {
	display: inline-block;
	margin: 0 4px 4px 0;
	white-space: nowrap;
	font-size: 11px;
}

.grp-roadmap-admin-actions .grp-roadmap-phase-current {
	font-size: 11px;
	padding: 4px 8px;
	vertical-align: middle;
}

.grp-feedback-screenshots {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 6px;
}

.grp-feedback-screenshot-thumb {
	display: inline-block;
	width: 56px;
	height: 56px;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(0, 0, 0, 0.25);
	transition: border-color 0.15s, transform 0.15s;
}

.grp-feedback-screenshot-thumb:hover {
	border-color: var(--grp-gold-soft);
	transform: scale(1.04);
}

.grp-feedback-screenshot-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.grp-feedback-admin-section-title {
	margin-top: 20px;
	margin-bottom: 8px;
}

.grp-feedback-admin-section-title:first-of-type {
	margin-top: 0;
}

.grp-feedback-admin-counts {
	font-size: 13px;
	font-weight: 400;
	margin-left: 8px;
}

.grp-feedback-admin-filters {
	margin-bottom: 10px;
}

.grp-feedback-admin-filters .btn {
	margin-right: 6px;
	margin-bottom: 4px;
}

.grp-feedback-admin-table .grp-feedback-row-done {
	opacity: 0.72;
}

.grp-feedback-admin-table .grp-feedback-row-open td:first-child {
	border-left: 3px solid var(--grp-gold-soft);
}

/* —— Feedback-Formulare (Bug / Vorschlag) —— */
.grp-feedback-page .grp-feedback-hero {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	flex-wrap: wrap;
	border-radius: var(--grp-radius);
	padding: 22px 26px;
	margin-bottom: 20px;
	border: 1px solid var(--grp-border);
}

.grp-feedback-page.grp-feedback-page-bug .grp-feedback-hero {
	background: linear-gradient(135deg, rgba(155, 28, 49, 0.16), rgba(212, 175, 55, 0.05));
	border-color: rgba(155, 28, 49, 0.28);
}

.grp-feedback-page.grp-feedback-page-vorschlag .grp-feedback-hero {
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.12), rgba(52, 120, 180, 0.1));
	border-color: rgba(212, 175, 55, 0.28);
}

.grp-feedback-hero-icon {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(0, 0, 0, 0.2);
}

.grp-feedback-page-bug .grp-feedback-hero-icon .fa { color: #e8a0a8; font-size: 24px; }
.grp-feedback-page-vorschlag .grp-feedback-hero-icon .fa { color: var(--grp-gold-soft); font-size: 24px; }

.grp-feedback-hero-body h2 {
	margin: 0 0 8px;
	font-size: 1.25rem;
}

.grp-feedback-hero-body p {
	margin: 0;
	color: var(--grp-text-muted);
	line-height: 1.55;
	max-width: 680px;
}

.grp-feedback-layout {
	margin-bottom: 8px;
}

.grp-feedback-form-card,
.grp-feedback-side-card {
	padding: 20px 22px;
}

.grp-feedback-form-card h4,
.grp-feedback-side-card h4 {
	margin: 0 0 14px;
	font-size: 1rem;
	color: var(--grp-gold-soft);
	font-weight: 600;
}

.grp-feedback-pick-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 10px;
	margin-bottom: 4px;
}

.grp-feedback-pick {
	margin: 0;
	cursor: pointer;
}

.grp-feedback-pick input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.grp-feedback-pick-inner {
	display: flex;
	flex-direction: column;
	gap: 4px;
	height: 100%;
	padding: 12px 14px;
	border-radius: var(--grp-radius);
	border: 1px solid var(--grp-border);
	background: rgba(255, 255, 255, 0.03);
	transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

.grp-feedback-pick-inner .fa {
	font-size: 18px;
	color: var(--grp-gold-soft);
	margin-bottom: 2px;
}

.grp-feedback-pick-inner strong {
	font-size: 13px;
	color: var(--grp-text);
	line-height: 1.3;
}

.grp-feedback-pick-inner small {
	font-size: 11px;
	color: var(--grp-text-muted);
	line-height: 1.35;
}

.grp-feedback-pick:hover .grp-feedback-pick-inner {
	border-color: rgba(212, 175, 55, 0.35);
	background: rgba(212, 175, 55, 0.05);
}

.grp-feedback-pick input:checked + .grp-feedback-pick-inner {
	border-color: var(--grp-gold-soft);
	background: rgba(212, 175, 55, 0.1);
	box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.2);
}

.grp-feedback-field-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 6px;
}

.grp-feedback-field-head label {
	margin: 0;
}

.grp-feedback-counter {
	font-size: 11px;
	color: var(--grp-text-muted);
}

.grp-feedback-counter-warn {
	color: var(--grp-warning);
}

.grp-feedback-upload-zone {
	border: 1px dashed rgba(255, 255, 255, 0.18);
	border-radius: var(--grp-radius);
	padding: 14px 16px;
	background: rgba(0, 0, 0, 0.15);
}

.grp-feedback-upload-zone input[type="file"] {
	border: none;
	background: transparent;
	padding: 0;
	height: auto;
	box-shadow: none;
}

.grp-feedback-upload-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.grp-feedback-upload-preview-item {
	width: 88px;
	text-align: center;
}

.grp-feedback-upload-preview-item img {
	width: 88px;
	height: 66px;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	display: block;
}

.grp-feedback-upload-preview-item span {
	display: block;
	font-size: 10px;
	color: var(--grp-text-muted);
	margin-top: 4px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.grp-feedback-tips {
	margin: 0;
	padding: 0;
	list-style: none;
}

.grp-feedback-tips li {
	position: relative;
	padding-left: 22px;
	margin-bottom: 10px;
	font-size: 13px;
	color: var(--grp-text-muted);
	line-height: 1.45;
}

.grp-feedback-tips li:last-child {
	margin-bottom: 0;
}

.grp-feedback-tips li .fa {
	position: absolute;
	left: 0;
	top: 2px;
	color: var(--grp-gold-soft);
	font-size: 12px;
}

.grp-feedback-side-links {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 14px;
}

.grp-feedback-side-links .btn {
	text-align: left;
}

.grp-feedback-recent-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.grp-feedback-recent-list li {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 8px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	font-size: 13px;
}

.grp-feedback-recent-list li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.grp-feedback-recent-list strong {
	color: var(--grp-text);
	font-weight: 600;
}

.grp-feedback-recent-meta {
	font-size: 11px;
	color: var(--grp-text-muted);
}

.grp-feedback-success-card {
	text-align: center;
	padding: 36px 24px;
}

.grp-feedback-success-card .fa {
	font-size: 2.5rem;
	color: var(--grp-success);
	margin-bottom: 14px;
}

.grp-feedback-success-card h3 {
	margin: 0 0 10px;
}

.grp-feedback-success-card p {
	color: var(--grp-text-muted);
	margin-bottom: 18px;
}

@media (max-width: 991px) {
	.grp-feedback-pick-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.grp-feedback-pick-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 1200px) {
	.grp-roadmap-board {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.grp-roadmap-board {
		grid-template-columns: 1fr;
	}
}

/* Changelog */
.grp-changelog-intro {
	margin-bottom: 20px;
	color: var(--grp-text-muted);
	font-size: 14px;
	line-height: 1.55;
}

.grp-changelog-timeline {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.grp-changelog-entry {
	background: var(--grp-surface);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 20px 22px;
	box-shadow: var(--grp-shadow);
}

.grp-changelog-entry-head {
	margin-bottom: 10px;
}

.grp-changelog-date {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--grp-gold-soft);
	margin-bottom: 6px;
}

.grp-changelog-title {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--grp-text);
}

.grp-changelog-summary {
	margin: 0 0 14px;
	color: var(--grp-text-muted);
	font-size: 14px;
	line-height: 1.5;
}

.grp-changelog-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.grp-changelog-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 12px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.05);
	border-radius: 8px;
	line-height: 1.45;
}

.grp-changelog-tag {
	flex-shrink: 0;
	display: inline-block;
	padding: 2px 8px;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.grp-changelog-tag-ucp {
	background: rgba(51, 204, 255, 0.15);
	border: 1px solid rgba(51, 204, 255, 0.35);
	color: #8edcff;
}

.grp-changelog-tag-ingame {
	background: rgba(212, 175, 55, 0.14);
	border: 1px solid rgba(212, 175, 55, 0.4);
	color: var(--grp-gold-soft);
}

.grp-changelog-tag-server {
	background: rgba(155, 28, 49, 0.2);
	border: 1px solid rgba(196, 36, 61, 0.45);
	color: #ffb4c0;
}

.grp-changelog-tag-default {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid var(--grp-border-light);
	color: var(--grp-text-muted);
}

.grp-changelog-text {
	color: var(--grp-text);
	font-size: 14px;
}

.grp-changelog-foot {
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid var(--grp-border);
}

/* Donator shop */
.grp-donator-hero {
	background: linear-gradient(135deg, rgba(155, 28, 49, 0.28), rgba(212, 175, 55, 0.14));
	border: 1px solid rgba(212, 175, 55, 0.35);
	border-radius: var(--grp-radius);
	padding: 24px 28px;
	margin-bottom: 24px;
	display: flex;
	gap: 20px;
	align-items: flex-start;
	flex-wrap: wrap;
}

.grp-donator-hero-icon {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: linear-gradient(145deg, rgba(212, 175, 55, 0.35), rgba(155, 28, 49, 0.25));
	border: 1px solid rgba(212, 175, 55, 0.45);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.grp-donator-hero-icon .fa {
	font-size: 26px;
	color: var(--grp-gold-soft);
}

.grp-donator-hero-body { flex: 1; min-width: 220px; }

.grp-donator-hero-body h2 {
	margin: 0 0 8px;
	font-size: 1.35rem;
	color: var(--grp-text);
	font-weight: 700;
}

.grp-donator-hero-body p {
	margin: 0;
	color: var(--grp-text-muted);
	max-width: 640px;
}

.grp-donator-soon {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: rgba(52, 120, 180, 0.1);
	border: 1px solid rgba(52, 120, 180, 0.28);
	border-radius: var(--grp-radius);
	padding: 16px 20px;
	margin-bottom: 24px;
	color: #9ec5e8;
}

.grp-donator-soon .fa { font-size: 20px; margin-top: 2px; flex-shrink: 0; }

.grp-donator-support-box {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	flex-wrap: wrap;
	background: var(--grp-surface);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 22px 26px;
	margin-bottom: 24px;
}

.grp-donator-support-icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: linear-gradient(145deg, rgba(155, 28, 49, 0.3), rgba(212, 175, 55, 0.22));
	border: 1px solid rgba(212, 175, 55, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.grp-donator-support-icon .fa {
	font-size: 22px;
	color: var(--grp-gold-soft);
}

.grp-donator-support-body {
	flex: 1;
	min-width: 240px;
}

.grp-donator-support-body h3 {
	margin: 0 0 10px;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--grp-text);
}

.grp-donator-support-body > p {
	margin: 0 0 8px;
	color: var(--grp-text-muted);
	font-size: 14px;
}

.grp-donator-support-list {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
}

.grp-donator-support-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 10px;
	color: var(--grp-text);
	font-size: 14px;
	line-height: 1.45;
}

.grp-donator-support-list li .fa {
	color: var(--grp-gold-soft);
	font-size: 15px;
	margin-top: 3px;
	flex-shrink: 0;
	width: 18px;
	text-align: center;
}

.grp-donator-support-thanks {
	margin: 14px 0 0 !important;
	padding-top: 12px;
	border-top: 1px solid var(--grp-border);
	color: var(--grp-gold-soft) !important;
	font-weight: 600;
}

.grp-donator-status {
	display: flex;
	gap: 20px;
	align-items: center;
	flex-wrap: wrap;
	background: var(--grp-surface);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 20px 24px;
	margin-bottom: 28px;
}

.grp-donator-status-avatar {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: linear-gradient(145deg, var(--grp-red), rgba(212, 175, 55, 0.5));
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.grp-donator-status-avatar .fa { font-size: 22px; color: #fff; }

.grp-donator-status-meta { flex: 1; min-width: 200px; }

.grp-donator-status-meta strong { color: var(--grp-gold-soft); }

.grp-donator-status-meta p { margin: 6px 0 0; color: var(--grp-text-muted); font-size: 14px; }

.grp-donator-status-badge { flex-shrink: 0; }

.grp-donator-section-title {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--grp-text);
	margin: 0 0 16px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.grp-donator-section-title .fa { color: var(--grp-gold-soft); }

.grp-donator-packages {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
	margin-bottom: 32px;
}

.grp-donator-package {
	background: var(--grp-surface);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.grp-donator-package:hover {
	border-color: var(--grp-border-light);
	box-shadow: var(--grp-shadow);
	transform: translateY(-2px);
}

.grp-donator-package-featured {
	border-color: rgba(212, 175, 55, 0.55);
	box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.15);
}

.grp-donator-package-featured .grp-donator-package-head {
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.22), rgba(155, 28, 49, 0.18));
}

.grp-donator-package-discount .grp-donator-package-head {
	background: linear-gradient(135deg, rgba(62, 207, 122, 0.15), rgba(212, 175, 55, 0.1));
}

.grp-donator-package-head {
	padding: 18px 20px 14px;
	border-bottom: 1px solid var(--grp-border);
	text-align: center;
}

.grp-donator-package-head h3 {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--grp-text);
}

.grp-donator-package-badge {
	display: inline-block;
	margin-top: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(62, 207, 122, 0.2);
	border: 1px solid rgba(62, 207, 122, 0.4);
	color: var(--grp-success);
}

.grp-donator-package-body {
	padding: 20px;
	text-align: center;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.grp-donator-price {
	font-size: 2rem;
	font-weight: 800;
	color: var(--grp-gold-soft);
	margin: 4px 0 2px;
	line-height: 1.1;
}

.grp-donator-price-old {
	color: var(--grp-text-muted);
	font-size: 0.95rem;
	margin: 0;
}

.grp-donator-price-old s { opacity: 0.75; }

.grp-donator-package-days {
	color: var(--grp-text-muted);
	font-size: 14px;
	margin: 0 0 16px;
}

.grp-donator-package-action {
	margin-top: auto;
	padding-top: 8px;
}

.grp-donator-package-action .btn { border-radius: 8px; font-weight: 600; }

.grp-donator-package-soon {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border-radius: 8px;
	background: rgba(52, 120, 180, 0.12);
	border: 1px solid rgba(52, 120, 180, 0.25);
	color: #9ec5e8;
	font-size: 13px;
	font-weight: 600;
}

.grp-donator-order {
	background: rgba(212, 175, 55, 0.08);
	border: 1px solid rgba(212, 175, 55, 0.3);
	border-radius: var(--grp-radius);
	padding: 22px 24px;
	margin-bottom: 28px;
}

.grp-donator-order h3 {
	margin: 0 0 14px;
	font-size: 1.05rem;
	color: var(--grp-gold-soft);
	display: flex;
	align-items: center;
	gap: 10px;
}

.grp-donator-order-meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px 20px;
	margin-bottom: 16px;
}

.grp-donator-order-meta > div {
	min-width: 0;
}

.grp-donator-order-meta dt {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--grp-text-muted);
	margin: 0 0 4px;
}

.grp-donator-order-meta dd {
	margin: 0;
	font-weight: 600;
	color: var(--grp-text);
}

.grp-donator-order-meta code {
	background: rgba(0, 0, 0, 0.25);
	padding: 2px 8px;
	border-radius: 4px;
	color: var(--grp-gold-soft);
}

.grp-donator-order ol {
	margin: 0;
	padding-left: 20px;
	color: var(--grp-text-muted);
}

.grp-donator-order ol li { margin-bottom: 8px; }

.grp-donator-benefits-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 14px;
	margin-bottom: 24px;
}

.grp-donator-benefit {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	background: var(--grp-surface);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 16px 18px;
}

.grp-donator-benefit-icon {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: rgba(62, 207, 122, 0.12);
	border: 1px solid rgba(62, 207, 122, 0.25);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.grp-donator-benefit-icon .fa { color: var(--grp-success); font-size: 16px; }

.grp-donator-benefit-icon-pending {
	background: rgba(212, 175, 55, 0.1);
	border-color: rgba(212, 175, 55, 0.25);
}

.grp-donator-benefit-icon-pending .fa { color: var(--grp-gold-soft); }

.grp-donator-benefit-body strong {
	display: block;
	color: var(--grp-text);
	margin-bottom: 4px;
	font-size: 14px;
}

.grp-donator-benefit-body span {
	font-size: 13px;
	color: var(--grp-text-muted);
	line-height: 1.45;
}

.grp-donator-benefit-tag {
	display: inline-block;
	margin-top: 6px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 2px 8px;
	border-radius: 999px;
}

.grp-donator-benefit-tag-live {
	background: rgba(62, 207, 122, 0.15);
	color: var(--grp-success);
	border: 1px solid rgba(62, 207, 122, 0.3);
}

.grp-donator-benefit-tag-soon {
	background: rgba(212, 175, 55, 0.12);
	color: var(--grp-gold-soft);
	border: 1px solid rgba(212, 175, 55, 0.28);
}

.grp-donator-legal-note {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin-bottom: 18px;
	padding: 14px 16px;
	border-radius: 8px;
	border: 1px solid rgba(212, 175, 55, 0.28);
	background: rgba(212, 175, 55, 0.06);
	font-size: 14px;
}

.grp-donator-legal-note > .fa {
	font-size: 20px;
	color: var(--grp-gold-soft);
	margin-top: 2px;
}

.grp-donator-legal-note p {
	margin: 6px 0 0;
	color: var(--grp-text-muted);
	line-height: 1.5;
}

.grp-donator-legal-fields {
	margin: 12px 0 14px;
	text-align: left;
}

.grp-donator-legal-fields .grp-privacy-consent {
	margin-bottom: 10px;
	font-size: 12px;
	line-height: 1.45;
}

.grp-donator-footnote {
	font-size: 13px;
	color: var(--grp-text-muted);
	margin-bottom: 20px;
	padding: 12px 16px;
	background: rgba(255, 255, 255, 0.03);
	border-radius: 8px;
	border: 1px solid var(--grp-border);
}

.grp-donator-pay-form { margin-top: 8px; }

/* Keybinder */
.grp-keybinder-hero { margin-bottom: 22px; }

.grp-keybinder-mode-toggle {
	margin-bottom: 18px;
}

.grp-keybinder-mode-toggle .btn.active {
	background: rgba(212, 175, 55, 0.18);
	border-color: rgba(212, 175, 55, 0.45);
	color: var(--grp-gold-soft);
	font-weight: 600;
}

.grp-keybinder-key-step {
	border-top: 1px solid var(--grp-border);
	padding-top: 18px;
	margin-top: 4px;
}

.grp-keybinder-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-bottom: 22px;
}

@media (max-width: 992px) {
	.grp-keybinder-layout { grid-template-columns: 1fr; }
}

.grp-keybinder-builder .panel-heading,
.grp-keybinder-binds-panel .panel-heading,
.grp-keybinder-preview-panel .panel-heading,
.grp-keybinder-tips .panel-heading {
	font-weight: 600;
	color: var(--grp-gold-soft);
}

.grp-keybinder-builder .panel-heading .fa,
.grp-keybinder-binds-panel .panel-heading .fa,
.grp-keybinder-preview-panel .panel-heading .fa,
.grp-keybinder-tips .panel-heading .fa {
	margin-right: 8px;
}

.grp-keybinder-step {
	display: flex;
	gap: 14px;
	margin-bottom: 20px;
}

.grp-keybinder-step-num {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(212, 175, 55, 0.15);
	border: 1px solid rgba(212, 175, 55, 0.35);
	color: var(--grp-gold-soft);
	font-weight: 700;
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 2px;
}

.grp-keybinder-step-body { flex: 1; min-width: 0; }

.grp-keybinder-label {
	display: block;
	font-weight: 600;
	color: var(--grp-text);
	margin-bottom: 8px;
	font-size: 14px;
}

.grp-keybinder-cat-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 10px;
}

.grp-keybinder-cat-nav .btn.active {
	background: rgba(212, 175, 55, 0.18);
	border-color: rgba(212, 175, 55, 0.45);
	color: var(--grp-gold-soft);
}

.grp-keybinder-search-wrap { margin-bottom: 10px; }

.grp-keybinder-action-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 8px;
	max-height: 220px;
	overflow-y: auto;
	padding: 2px;
	margin-bottom: 8px;
}

.grp-keybinder-action-btn {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	text-align: left;
	padding: 10px 12px;
	border-radius: 8px;
	border: 1px solid var(--grp-border);
	background: rgba(255, 255, 255, 0.02);
	color: var(--grp-text);
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s;
}

.grp-keybinder-action-btn:hover,
.grp-keybinder-action-btn.active {
	border-color: rgba(212, 175, 55, 0.45);
	background: rgba(212, 175, 55, 0.08);
}

.grp-keybinder-action-label {
	font-weight: 600;
	font-size: 13px;
	color: var(--grp-text);
}

.grp-keybinder-action-cmd {
	font-size: 11px;
	background: rgba(0, 0, 0, 0.25);
	padding: 1px 6px;
	border-radius: 4px;
	color: var(--grp-gold-soft);
}

.grp-keybinder-action-desc {
	font-size: 11px;
	color: var(--grp-text-muted);
	line-height: 1.35;
}

.grp-keybinder-action-hint,
.grp-keybinder-field-hint,
.grp-keybinder-export-hint {
	font-size: 12px;
	margin: 6px 0 0;
}

.grp-keybinder-key-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 10px;
}

.grp-keybinder-key-select {
	max-width: 180px;
}

.grp-keybinder-key-display { margin-bottom: 4px; }

.grp-keybinder-key-pill {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 8px;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.04em;
	background: rgba(255, 255, 255, 0.04);
	border: 1px dashed var(--grp-border);
	color: var(--grp-text-muted);
}

.grp-keybinder-key-pill.has-key {
	background: rgba(62, 207, 122, 0.12);
	border: 1px solid rgba(62, 207, 122, 0.35);
	color: var(--grp-success);
	border-style: solid;
}

#grp-kb-capture-btn.active {
	background: rgba(155, 28, 49, 0.85);
	border-color: rgba(155, 28, 49, 0.9);
	animation: grp-kb-pulse 1.2s ease-in-out infinite;
}

@keyframes grp-kb-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(155, 28, 49, 0.35); }
	50% { box-shadow: 0 0 0 6px rgba(155, 28, 49, 0); }
}

.grp-keybinder-add-btn { margin-top: 4px; font-weight: 600; }

.grp-keybinder-side {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.grp-keybinder-binds-panel .panel-heading .badge {
	margin-left: 6px;
	background: rgba(255, 255, 255, 0.12);
}

.grp-keybinder-binds-body { min-height: 120px; }

.grp-keybinder-binds-empty {
	text-align: center;
	padding: 28px 16px;
	color: var(--grp-text-muted);
}

.grp-keybinder-binds-empty .fa {
	font-size: 28px;
	color: var(--grp-border);
	display: block;
	margin-bottom: 10px;
}

.grp-keybinder-binds-table code {
	font-size: 12px;
	background: rgba(0, 0, 0, 0.25);
	padding: 2px 6px;
	border-radius: 4px;
}

.grp-keybinder-bind-actions { width: 40px; text-align: right; }

.grp-keybinder-preview {
	display: block;
	min-height: 140px;
	max-height: 220px;
	overflow: auto;
	margin: 0 0 12px;
	padding: 12px 14px;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid var(--grp-border);
	color: #c8e6c9;
	font-family: Consolas, Monaco, 'Courier New', monospace;
	font-size: 12px;
	line-height: 1.5;
	white-space: pre-wrap;
	word-break: break-all;
}

.grp-keybinder-export-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}

.grp-keybinder-format-toggle .btn.active {
	background: rgba(212, 175, 55, 0.18);
	border-color: rgba(212, 175, 55, 0.4);
	color: var(--grp-gold-soft);
}

.grp-keybinder-soon-save { margin-top: 0; }

.grp-keybinder-tips { margin-bottom: 20px; }

.grp-keybinder-tips-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.grp-keybinder-tips-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid var(--grp-border);
	color: var(--grp-text-muted);
	line-height: 1.5;
	font-size: 13px;
}

.grp-keybinder-tips-list li:last-child { border-bottom: none; }

.grp-keybinder-tips-list .fa {
	color: var(--grp-gold-soft);
	margin-top: 3px;
	flex-shrink: 0;
}

.grp-keybinder-no-results {
	padding: 16px 8px;
	margin: 0;
	text-align: center;
}

.grp-nav-link.grp-nav-soon {
	cursor: default;
	opacity: 0.72;
	pointer-events: none;
}

.grp-guestbar-nav .grp-nav-soon {
	opacity: 0.65;
	cursor: default;
	pointer-events: none;
}

.grp-payment-result .fa { margin-right: 8px; }

/* System health (Admin) */
.grp-health-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 12px;
}

.grp-health-item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 12px 14px;
	border-radius: 8px;
	border: 1px solid var(--grp-border);
	background: rgba(0, 0, 0, 0.15);
}

.grp-health-ok { border-color: rgba(62, 207, 122, 0.3); }
.grp-health-error { border-color: rgba(240, 113, 113, 0.35); }

.grp-health-icon { font-size: 18px; margin-top: 2px; }
.grp-health-ok .grp-health-icon { color: var(--grp-success); }
.grp-health-error .grp-health-icon { color: var(--grp-danger); }

.grp-health-body strong { display: block; font-size: 14px; color: var(--grp-text); }
.grp-health-body .text-muted { font-size: 12px; }

.grp-health-summary {
	margin-bottom: 14px;
	padding: 10px 14px;
	border-radius: 8px;
	font-size: 14px;
}

.grp-health-summary-ok {
	background: rgba(62, 207, 122, 0.1);
	border: 1px solid rgba(62, 207, 122, 0.25);
	color: var(--grp-success);
}

.grp-health-summary-warn {
	background: rgba(212, 175, 55, 0.1);
	border: 1px solid rgba(212, 175, 55, 0.28);
	color: var(--grp-gold-soft);
}

/* Form polish */
.form-control {
	background: var(--grp-bg-elevated) !important;
	border: 1px solid var(--grp-border) !important;
	color: var(--grp-text) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}

.form-control:focus {
	border-color: var(--grp-gold) !important;
	box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.15) !important;
}

.table {
	background: transparent;
	color: var(--grp-text);
}

.table > thead > tr > th {
	border-bottom: 1px solid var(--grp-border);
	color: var(--grp-gold-soft);
	font-weight: 600;
}

.table > tbody > tr > td,
.table > tbody > tr > th {
	border-top: 1px solid var(--grp-border);
}

.table-striped > tbody > tr:nth-of-type(odd) {
	background: rgba(255, 255, 255, 0.02);
}

/* Team-Chat */
.grp-team-chat-page .grp-team-chat-hero {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin-bottom: 22px;
	padding: 20px 22px;
	border-radius: 12px;
	border: 1px solid var(--grp-border);
	background: linear-gradient(135deg, rgba(52, 120, 180, 0.18), rgba(212, 175, 55, 0.08));
}

.grp-team-chat-hero-icon {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(212, 175, 55, 0.15);
	border: 1px solid rgba(212, 175, 55, 0.35);
	color: var(--grp-gold-soft);
	font-size: 22px;
	flex-shrink: 0;
}

.grp-team-chat-hero-body { flex: 1; min-width: 200px; }

.grp-team-chat-hero-body h2 {
	margin: 0 0 4px;
	font-size: 22px;
	font-weight: 700;
	color: var(--grp-text);
}

.grp-team-chat-hero-body p {
	margin: 0;
	font-size: 14px;
	color: var(--grp-text-muted);
}

.grp-team-chat-hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.grp-team-chat-live {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	color: var(--grp-success);
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(46, 160, 90, 0.12);
	border: 1px solid rgba(46, 160, 90, 0.35);
}

.grp-team-chat-live .fa { font-size: 8px; animation: grp-team-pulse 1.8s ease-in-out infinite; }

.grp-team-chat-live.is-error {
	color: var(--grp-danger);
	background: rgba(180, 50, 50, 0.12);
	border-color: rgba(180, 50, 50, 0.35);
}

.grp-team-chat-stat-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--grp-text-muted);
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--grp-bg-elevated);
	border: 1px solid var(--grp-border);
}

.grp-team-chat-layout { margin-bottom: 8px; }

.grp-team-chat-panel {
	padding: 0;
	overflow: hidden;
	position: relative;
}

.grp-team-chat-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 16px;
	border-bottom: 1px solid var(--grp-border);
	background: rgba(0, 0, 0, 0.12);
}

.grp-team-chat-toolbar-hint {
	font-size: 11px;
}

.grp-team-chat-body {
	display: flex;
	flex-direction: column;
	min-height: 460px;
	position: relative;
}

.grp-team-chat-log {
	flex: 1;
	max-height: min(58vh, 520px);
	min-height: 320px;
	overflow-y: auto;
	padding: 16px 18px 12px;
	background: rgba(0, 0, 0, 0.22);
	scroll-behavior: smooth;
}

.grp-team-chat-date {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 14px 0 10px;
}

.grp-team-chat-date span {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--grp-text-muted);
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--grp-bg-elevated);
	border: 1px solid var(--grp-border);
}

.grp-team-chat-msg {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 14px;
	max-width: 100%;
}

.grp-team-chat-msg-own {
	flex-direction: row-reverse;
}

.grp-team-chat-avatar {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	flex-shrink: 0;
	border: 1px solid var(--grp-border);
}

.grp-team-chat-avatar-team {
	background: rgba(52, 120, 180, 0.2);
	color: #8ec5ff;
	border-color: rgba(52, 120, 180, 0.4);
}

.grp-team-chat-avatar-admin {
	background: rgba(212, 175, 55, 0.15);
	color: var(--grp-gold-soft);
	border-color: rgba(212, 175, 55, 0.4);
}

.grp-team-chat-avatar-pl {
	background: rgba(180, 50, 80, 0.18);
	color: #ff9eb5;
	border-color: rgba(180, 50, 80, 0.4);
}

.grp-team-chat-bubble {
	flex: 1;
	min-width: 0;
	max-width: min(100%, 640px);
	padding: 10px 12px;
	border-radius: 10px;
	background: var(--grp-bg-elevated);
	border: 1px solid var(--grp-border);
}

.grp-team-chat-msg-own .grp-team-chat-bubble {
	border-color: rgba(212, 175, 55, 0.35);
	background: rgba(212, 175, 55, 0.07);
}

.grp-team-chat-msg-head {
	font-size: 13px;
	margin-bottom: 4px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.grp-team-chat-msg-head strong { color: var(--grp-gold-soft); }

.grp-team-chat-you {
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--grp-gold);
	opacity: 0.85;
}

.grp-team-chat-time {
	margin-left: auto;
	font-size: 11px;
	color: var(--grp-text-muted);
	white-space: nowrap;
}

.grp-team-chat-msg-own .grp-team-chat-msg-head { flex-direction: row-reverse; }

.grp-team-chat-msg-own .grp-team-chat-time {
	margin-left: 0;
	margin-right: auto;
}

.grp-team-chat-msg-body {
	font-size: 14px;
	line-height: 1.5;
	word-break: break-word;
}

.grp-team-chat-scroll-btn {
	position: absolute;
	right: 18px;
	bottom: 118px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--grp-border);
	background: var(--grp-bg-elevated);
	color: var(--grp-gold-soft);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
}

.grp-team-chat-scroll-btn.is-visible { display: flex; }

.grp-team-chat-scroll-badge {
	position: absolute;
	top: -6px;
	right: -4px;
	font-size: 9px;
	font-weight: 700;
	padding: 2px 5px;
	border-radius: 999px;
	background: var(--grp-danger);
	color: #fff;
}

.grp-team-chat-form {
	padding: 12px 16px 14px;
	border-top: 1px solid var(--grp-border);
	background: rgba(0, 0, 0, 0.1);
}

.grp-team-chat-compose {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.grp-team-chat-input {
	resize: vertical;
	min-height: 52px;
	max-height: 140px;
	border-radius: 8px;
	background: var(--grp-bg);
	border-color: var(--grp-border);
	color: var(--grp-text);
}

.grp-team-chat-compose-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.grp-team-chat-char {
	font-size: 12px;
	color: var(--grp-text-muted);
}

.grp-team-chat-hint {
	margin: 8px 0 0;
	font-size: 11px;
}

.grp-team-chat-empty {
	text-align: center;
	padding: 48px 16px;
	color: var(--grp-text-muted);
}

.grp-team-chat-empty-icon {
	display: block;
	font-size: 36px;
	margin-bottom: 10px;
	opacity: 0.45;
}

.grp-team-chat-sidebar { display: flex; flex-direction: column; gap: 14px; }

.grp-team-chat-side-card {
	padding: 16px 18px;
}

.grp-team-chat-side-title {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 8px;
}

.grp-team-chat-side-sub {
	margin: -4px 0 10px;
	font-size: 12px;
}

.grp-team-chat-activity {
	list-style: none;
	margin: 0;
	padding: 0;
}

.grp-team-chat-activity li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid var(--grp-border);
	font-size: 13px;
}

.grp-team-chat-activity li:last-child { border-bottom: none; }

.grp-team-chat-activity strong {
	color: var(--grp-gold-soft);
	font-size: 15px;
}

.grp-team-chat-quick .btn { margin-bottom: 8px; }
.grp-team-chat-quick .btn:last-child { margin-bottom: 0; }

@media (max-width: 991px) {
	.grp-team-chat-log { max-height: 50vh; min-height: 260px; }
	.grp-team-chat-toolbar-hint { display: none; }
	.grp-team-chat-sidebar { margin-top: 4px; }
}

/* legacy aliases */
.grp-team-chat-panel .panel-body { padding: 0; }

/* Support-Tickets */
.grp-ticket-page .grp-ticket-hero {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	flex-wrap: wrap;
	background: linear-gradient(135deg, rgba(52, 120, 180, 0.2), rgba(155, 28, 49, 0.1));
	border: 1px solid rgba(52, 120, 180, 0.3);
	border-radius: var(--grp-radius);
	padding: 22px 26px;
	margin-bottom: 22px;
}

.grp-ticket-hero-team {
	border-color: rgba(212, 175, 55, 0.28);
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.1), rgba(52, 120, 180, 0.12));
}

.grp-ticket-hero-icon {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: rgba(52, 120, 180, 0.25);
	border: 1px solid rgba(52, 120, 180, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.grp-ticket-hero-icon .fa { font-size: 24px; color: #9ec5e8; }

.grp-ticket-hero-body h2 { margin: 0 0 8px; font-size: 1.25rem; }
.grp-ticket-hero-body p { margin: 0; color: var(--grp-text-muted); line-height: 1.55; max-width: 640px; }

.grp-ticket-section-title {
	font-size: 1.05rem;
	color: var(--grp-gold-soft);
	margin: 0 0 12px;
	font-weight: 600;
}

.grp-ticket-section-title .fa { margin-right: 8px; }

.grp-ticket-table td, .grp-ticket-table th { vertical-align: middle !important; }

.grp-ticket-status {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.grp-ticket-status-open { background: rgba(52, 120, 180, 0.2); color: #9ec5e8; border: 1px solid rgba(52, 120, 180, 0.35); }
.grp-ticket-status-claimed { background: rgba(212, 175, 55, 0.15); color: var(--grp-gold-soft); border: 1px solid rgba(212, 175, 55, 0.35); }
.grp-ticket-status-closed { background: rgba(255, 255, 255, 0.06); color: var(--grp-text-muted); border: 1px solid var(--grp-border); }

.grp-ticket-view-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	margin-bottom: 16px;
	background: var(--grp-surface);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	font-size: 14px;
}

.grp-ticket-claimed-by { margin-left: 10px; font-size: 13px; }

.grp-ticket-thread-body {
	max-height: 55vh;
	overflow-y: auto;
	padding: 8px 4px;
}

.grp-ticket-msg {
	margin-bottom: 14px;
	padding: 12px 14px;
	border-radius: 10px;
	border: 1px solid var(--grp-border);
	background: rgba(255, 255, 255, 0.02);
}

.grp-ticket-msg-team {
	border-color: rgba(62, 207, 122, 0.28);
	background: rgba(62, 207, 122, 0.05);
}

.grp-ticket-msg-player {
	border-color: rgba(52, 120, 180, 0.25);
}

.grp-ticket-msg-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
	font-size: 13px;
}

.grp-ticket-msg-head strong { color: var(--grp-gold-soft); }

.grp-ticket-msg-time {
	margin-left: auto;
	font-size: 11px;
	color: var(--grp-text-muted);
}

.grp-ticket-msg-body {
	font-size: 14px;
	line-height: 1.5;
	word-break: break-word;
}

.grp-ticket-msg-label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--grp-text-muted);
}

.grp-ticket-create-panel { margin-bottom: 20px; }

.grp-ticket-claim-hint { margin-bottom: 16px; }

/* Banliste (Team ab Rang 2, nur Ansicht) */
.grp-banlist-page .grp-banlist-hero {
	background: linear-gradient(135deg, rgba(155, 28, 49, 0.18), rgba(52, 120, 180, 0.08));
	border-color: rgba(155, 28, 49, 0.28);
}

.grp-banlist-page .grp-banlist-hero .grp-ticket-hero-icon .fa {
	color: #e8a0a8;
}

.grp-banlist-stats { margin-bottom: 20px; }

.grp-banlist-search {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.grp-banlist-table td:nth-child(3) {
	max-width: 360px;
	word-break: break-word;
}

.grp-backup-pl-note { margin-bottom: 20px; }

.grp-backup-table td { vertical-align: top !important; }

.grp-recent-reg-panel { margin-bottom: 20px; }

.grp-recent-reg-hint {
	margin: 0 0 12px;
	font-size: 12px;
}

.grp-recent-reg-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.grp-recent-reg-item {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.grp-recent-reg-item:last-child { border-bottom: none; }

.grp-recent-reg-meta {
	font-size: 12px;
	color: var(--grp-text-muted);
}

/* Hide old bootstrap navbar remnants */
.navbar { display: none !important; }

@media (max-width: 900px) {
	.grp-sidebar {
		width: 100%;
		min-width: 0;
		position: relative;
		height: auto;
	}

	.grp-nav-toggle {
		display: inline-flex;
	}

	.grp-sidebar-nav {
		display: none;
		padding-top: 0;
	}

	.grp-sidebar.grp-nav-open .grp-sidebar-nav {
		display: block;
	}

	.grp-main { margin-left: 0; }

	.grp-layout { flex-direction: column; }

	.grp-top-grid { grid-template-columns: 1fr; }

	.grp-faction-section-head {
		flex-wrap: wrap;
	}

	.grp-faction-section-count {
		margin-left: 0;
		width: 100%;
		text-align: center;
	}

	.grp-faction-grid {
		grid-template-columns: 1fr;
	}

	#main-content { padding: 20px 16px 32px; }
}

/* Bankkonten / Listen-Karten (UCP Panel-Stil) */
.grp-panel-kicker {
	margin: 0 0 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--grp-text-muted);
}

.grp-panel-overview {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 20px 22px 18px;
	border-bottom: 2px solid rgba(62, 207, 122, 0.75);
}

.grp-panel-overview-label {
	font-size: 12px;
	color: var(--grp-text-muted);
	margin-bottom: 6px;
}

.grp-panel-overview-value {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: 8px;
}

.grp-panel-overview-meta {
	font-size: 13px;
	color: var(--grp-text-muted);
}

.grp-account-cards {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.grp-account-cards .grp-account-card {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 16px 18px;
	margin-bottom: 0;
}

.grp-account-cards .grp-account-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	flex-shrink: 0;
	font-size: 18px;
}

.grp-account-cards .grp-account-card-icon-bank {
	background: rgba(52, 120, 180, 0.18);
	border: 1px solid rgba(52, 120, 180, 0.35);
	color: #9ec5e8;
}

.grp-account-cards .grp-account-card-icon-user {
	background: rgba(155, 28, 49, 0.2);
	border: 1px solid rgba(155, 28, 49, 0.4);
	color: var(--grp-gold-soft);
}

.grp-account-cards .grp-account-card-body {
	flex: 1 1 220px;
	min-width: 0;
}

.grp-account-cards .grp-account-card-head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 4px;
}

.grp-account-cards .grp-account-card-id {
	font-size: 13px;
	font-weight: 700;
	color: var(--grp-text-muted);
}

.grp-account-cards .grp-account-card-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	background: rgba(52, 120, 180, 0.18);
	border: 1px solid rgba(52, 120, 180, 0.35);
	color: #9ec5e8;
}

.grp-account-cards .grp-account-card-badge-muted {
	background: rgba(255, 255, 255, 0.06);
	border-color: var(--grp-border);
	color: var(--grp-text-muted);
}

.grp-account-cards .grp-account-card-title {
	font-size: 1.05rem;
	font-weight: 700;
	margin-bottom: 4px;
	color: var(--grp-text);
}

.grp-account-cards .grp-account-card-meta {
	font-size: 12px;
	color: var(--grp-text-muted);
}

.grp-account-cards .grp-account-card-aside {
	margin-left: auto;
	text-align: right;
	min-width: 120px;
}

.grp-account-cards .grp-account-card-aside-label {
	font-size: 11px;
	color: var(--grp-text-muted);
	margin-bottom: 4px;
}

.grp-account-cards .grp-account-card-aside-value {
	font-size: 1.15rem;
	font-weight: 700;
}

@media (max-width: 640px) {
	.grp-account-cards .grp-account-card-aside {
		width: 100%;
		margin-left: 0;
		text-align: left;
		padding-top: 8px;
		border-top: 1px solid var(--grp-border);
	}
}

/* === UCP page coverage (missing class fixes) === */

.grp-account-hero-text {
	flex: 1;
	min-width: 0;
}

.grp-account-info-hint {
	font-size: 13px;
	line-height: 1.5;
	margin: 12px 0 0;
}

.grp-account-pw-form {
	max-width: 520px;
}

.grp-account-chip-donator {
	background: rgba(212, 175, 55, 0.16);
	border-color: rgba(212, 175, 55, 0.45);
	color: var(--grp-gold-soft);
}

.grp-account-chip-inactive {
	background: rgba(255, 255, 255, 0.03);
	border-color: var(--grp-border);
	color: var(--grp-text-muted);
	font-size: 12px;
}

.grp-account-donator-row {
	margin-top: 8px;
}

.grp-crown-icon {
	margin-right: 4px;
}

.grp-rank-donator {
	background: rgba(212, 175, 55, 0.18);
	border: 1px solid rgba(212, 175, 55, 0.45);
	color: var(--grp-gold-soft);
}

.grp-stat-card-eyebrow {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--grp-text-muted);
	margin-bottom: 6px;
}

.grp-stat-card-muted {
	opacity: 0.72;
}

.grp-playtime-chart-card {
	margin-top: 18px;
}

.grp-playtime-rank-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 18px;
	padding: 16px 18px;
	background: rgba(212, 175, 55, 0.08);
	border: 1px solid rgba(212, 175, 55, 0.28);
	border-radius: var(--grp-radius);
}

.grp-playtime-rank-label {
	display: block;
	font-size: 12px;
	color: var(--grp-text-muted);
	margin-bottom: 4px;
}

.grp-playtime-rank-value {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--grp-gold-soft);
	line-height: 1.1;
}

.grp-donator-days-left {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	background: rgba(212, 175, 55, 0.14);
	border: 1px solid rgba(212, 175, 55, 0.35);
	color: var(--grp-gold-soft);
	vertical-align: middle;
}

.grp-email-banner {
	margin-bottom: 20px;
}

.grp-email-banner .fa {
	margin-right: 6px;
}

.grp-changelog-badges {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	flex-shrink: 0;
	min-width: 84px;
}

.grp-changelog-type-fix {
	background: rgba(62, 207, 122, 0.14);
	border: 1px solid rgba(62, 207, 122, 0.35);
	color: #8be8b0;
}

.grp-changelog-type-neu {
	background: rgba(51, 204, 255, 0.14);
	border: 1px solid rgba(51, 204, 255, 0.35);
	color: #8edcff;
}

.grp-changelog-type-verbessert {
	background: rgba(180, 130, 255, 0.14);
	border: 1px solid rgba(180, 130, 255, 0.35);
	color: #d4b8ff;
}

.grp-admin-links-panel {
	margin-bottom: 24px;
}

.grp-admin-links-panel .panel-heading {
	font-weight: 600;
	color: var(--grp-gold-soft);
}

.grp-keybinder-page .grp-keybinder-planned {
	margin-bottom: 20px;
}

.grp-keybinder-planned-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.grp-keybinder-planned-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid var(--grp-border);
	color: var(--grp-text-muted);
	font-size: 14px;
	line-height: 1.45;
}

.grp-keybinder-planned-list li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.grp-keybinder-planned-list .fa {
	color: var(--grp-success);
	margin-top: 2px;
	flex-shrink: 0;
}

.grp-keybinder-preview-banner .fa {
	margin-right: 8px;
}

.grp-payment-result-card {
	margin-bottom: 20px;
	padding: 0;
	overflow: hidden;
}

.grp-donator-relogin-warning .fa {
	margin-right: 8px;
}

.grp-roadmap-cards {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.grp-sell-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--grp-border);
}

.grp-sell-form input[type="number"] {
	width: 120px;
}

.grp-table {
	margin-bottom: 0;
}

.grp-table > thead > tr > th {
	border-bottom-color: var(--grp-border);
	color: var(--grp-text-muted);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.grp-ticket-thread {
	padding: 0;
}

.grp-marketplace-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 18px;
}

.grp-marketplace-card {
	display: flex;
	flex-direction: column;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	overflow: hidden;
	min-height: 100%;
}

.grp-marketplace-card-image {
	width: 100%;
	height: 140px;
	object-fit: contain;
	background: rgba(0, 0, 0, 0.25);
	padding: 12px;
}

.grp-marketplace-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 140px;
	background: rgba(0, 0, 0, 0.25);
	color: var(--grp-gold-soft);
	font-size: 42px;
}

.grp-marketplace-card-body {
	padding: 16px 18px 12px;
	flex: 1;
}

.grp-marketplace-card-body h4 {
	margin: 0 0 8px;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--grp-text);
}

.grp-marketplace-card-meta {
	margin: 0 0 8px;
	font-size: 13px;
	color: var(--grp-text-muted);
}

.grp-marketplace-card-desc {
	margin: 0 0 10px;
	font-size: 13px;
	color: var(--grp-text);
	line-height: 1.45;
}

.grp-marketplace-card-seller {
	margin: 0;
	font-size: 12px;
	color: var(--grp-text-muted);
}

.grp-marketplace-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	padding: 12px 18px 16px;
	border-top: 1px solid var(--grp-border);
	background: rgba(0, 0, 0, 0.12);
}

.grp-marketplace-price {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--grp-gold-soft);
}

.grp-quest-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}

.grp-quest-card {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 16px 18px;
}

.grp-quest-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

.grp-quest-card-head h4 {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	color: var(--grp-text);
}

.grp-quest-reward {
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--grp-gold-soft);
	background: rgba(212, 175, 55, 0.12);
	border: 1px solid rgba(212, 175, 55, 0.3);
	border-radius: 999px;
	padding: 4px 10px;
}

.grp-quest-desc {
	margin: 0 0 12px;
	font-size: 13px;
	color: var(--grp-text-muted);
	line-height: 1.45;
}

.grp-quest-progress-track {
	height: 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	overflow: hidden;
	margin-bottom: 8px;
}

.grp-quest-progress-fill {
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(155, 28, 49, 0.85), rgba(212, 175, 55, 0.85));
}

.grp-quest-progress-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: 12px;
	color: var(--grp-text-muted);
}

.grp-quest-status-badge {
	font-weight: 600;
	color: var(--grp-text);
}

.grp-quest-status-done {
	border-color: rgba(212, 175, 55, 0.45);
}

.grp-quest-status-claimed {
	opacity: 0.75;
}

.grp-quest-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 18px 0 22px;
}

.grp-quest-stat {
	flex: 1 1 160px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--grp-border);
	border-radius: var(--grp-radius);
	padding: 14px 18px;
	text-align: center;
}

.grp-quest-stat-value {
	display: block;
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--grp-gold-soft);
	line-height: 1.1;
}

.grp-quest-stat-label {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--grp-text-muted);
}

.grp-quest-card.grp-quest-done {
	border-color: rgba(39, 174, 96, 0.45);
	background: rgba(39, 174, 96, 0.06);
}

.grp-quest-card.grp-quest-claimed {
	opacity: 0.7;
}

.grp-quest-card.grp-quest-done .grp-quest-progress-fill {
	background: linear-gradient(90deg, rgba(39, 174, 96, 0.85), rgba(46, 204, 113, 0.9));
}

.grp-quest-status-badge.grp-quest-status-open {
	color: var(--grp-text-muted);
}

.grp-quest-status-badge.grp-quest-status-done {
	color: #2ecc71;
	font-weight: 700;
}

.grp-quest-status-badge.grp-quest-status-claimed {
	color: var(--grp-text-muted);
}

.grp-donator-overview-page .grp-stat-grid {
	margin-top: 0;
}

@media (max-width: 768px) {
	.grp-marketplace-grid,
	.grp-quest-grid {
		grid-template-columns: 1fr;
	}

	.grp-account-hero-aside {
		text-align: left;
	}
}

.grp-log-viewer {
	max-height: 520px;
	overflow: auto;
	background: #0f1419;
	color: #c8d3e0;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	padding: 12px 14px;
	font-size: 12px;
	line-height: 1.45;
	margin: 0;
	white-space: pre-wrap;
	word-break: break-word;
}

.grp-log-toolbar .form-control {
	min-width: 120px;
}

.grp-server-tools-page .grp-server-tools-access-note {
	margin-bottom: 20px;
}

.grp-server-tools-page .grp-log-toolbar {
	margin-top: 2px;
}

.grp-server-tools-page .grp-console-ooc-panel {
	margin-bottom: 16px;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.15);
}

.grp-server-tools-page .grp-console-ooc-title {
	margin: 0 0 8px;
	font-size: 16px;
}

.grp-server-tools-page .grp-console-ooc-hint {
	margin-bottom: 10px;
	font-size: 13px;
}

.grp-server-tools-page .grp-console-ooc-form .btn {
	margin-left: 6px;
}

.grp-server-tools-page .grp-log-quick-filters {
	margin-bottom: 12px;
}

.grp-server-tools-page .grp-log-auto-refresh-toggle {
	margin-right: 8px;
	font-weight: normal;
}

.grp-server-tools-page .grp-log-refresh-status {
	font-size: 12px;
}

.grp-server-tools-page .grp-log-quick-filters-divider {
	margin: 0 10px 0 4px;
}

.grp-server-tools-page .grp-log-quick-filters .btn {
	margin: 0 4px 4px 0;
}

.grp-server-tools-page .grp-scripter-workflow {
	padding-left: 18px;
	margin: 0 0 16px;
	font-size: 13px;
}

.grp-server-tools-page .grp-scripter-workflow li {
	margin-bottom: 6px;
}

.grp-server-tools-page .grp-server-live-table th {
	color: #8a9bb0;
	font-weight: 600;
	border-top: 0 !important;
}
