/* ============================================================================
   admin.css - стили админской панели
   Темная тема под общую игру, минималистично, без украшений.
   ============================================================================ */

/* Кнопка-ссылка "Админка" в шапке (после уровня) */
#admin-link {
	display: none; /* По умолчанию скрыта - показывается JS только для админа */
	margin-left: 8px;
	padding: 3px 8px;
	background-color: #aa3333;
	color: #ffffff;
	border: 1px solid #cc4444;
	border-radius: 4px;
	font-size: 11px;
	cursor: pointer;
	white-space: nowrap;
}

#admin-link:hover {
	background-color: #cc4444;
}

/* Контейнер админ-панели.
   Архитектура: #player-stats-container (107px, fixed top) + #menu (~70px, fixed bottom).
   Чтобы админ-панель умещалась между ними и скроллилась внутри -
   используем те же отступы что и у #main-content (padding-top: 107px, padding-bottom: 70px).
   #admin-panel - прямой потомок #game-container (flex: column, height: 100vh),
   поэтому flex: 1 заставляет занять всё свободное место.
   overflow-y: auto делает прокрутку списка внутри окна, а не страницы целиком. */
#admin-panel {
	flex: 1;
	min-height: 0;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	/* padding-top = высота #player-stats-header (~50px) когда характеристики скрыты */
	padding: 60px 10px 80px 10px;
	background-color: #1a1a1a;
	color: #e0e0e0;
	flex-direction: column;
	gap: 8px;
	overflow-y: auto;
	box-sizing: border-box;
}

/* Шапка админ-панели с табами */
#admin-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	padding-bottom: 8px;
	border-bottom: 1px solid #333333;
}

.admin-tab {
	flex: 1;
	min-width: 70px;
	padding: 6px 8px;
	background-color: #2a2a2a;
	color: #e0e0e0;
	border: 1px solid #444444;
	border-radius: 4px;
	font-size: 12px;
	cursor: pointer;
}

.admin-tab.active {
	background-color: #4a6a4a;
	border-color: #5a8a5a;
}

#admin-close {
	margin-left: auto;
	padding: 6px 10px;
	background-color: #555555;
	color: #ffffff;
	border: 1px solid #666666;
	border-radius: 4px;
	font-size: 12px;
	cursor: pointer;
}

/* Заголовок раздела */
.admin-section-header {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
}

.admin-section-header h3 {
	margin: 0;
	font-size: 14px;
	color: #e0e0e0;
	flex: 1;
}

#admin-players-search {
	flex: 1;
	max-width: 200px;
	padding: 4px 8px;
	background-color: #2a2a2a;
	color: #e0e0e0;
	border: 1px solid #444444;
	border-radius: 4px;
	font-size: 12px;
}

.admin-btn-create {
	padding: 4px 10px;
	background-color: #3a6a3a;
	color: #ffffff;
	border: 1px solid #4a8a4a;
	border-radius: 4px;
	font-size: 12px;
	cursor: pointer;
}

/* Список */
.admin-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.admin-empty,
.admin-placeholder {
	padding: 20px;
	text-align: center;
	color: #888888;
	font-size: 12px;
}

/* Карточка игрока */
.admin-player-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px;
	background-color: #2a2a2a;
	border-radius: 4px;
}

.admin-player-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}

.admin-player-info {
	flex: 1;
	min-width: 0; /* Чтобы tg_id не выпирал */
}

.admin-player-name {
	font-size: 13px;
	font-weight: bold;
	color: #ffffff;
}

.admin-player-meta {
	font-size: 10px;
	color: #aaaaaa;
}

.admin-player-actions {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.admin-btn-block,
.admin-btn-unblock,
.admin-btn-transfer {
	padding: 3px 8px;
	color: #ffffff;
	border: 1px solid;
	border-radius: 4px;
	font-size: 10px;
	cursor: pointer;
	white-space: nowrap;
}

.admin-btn-block {
	background-color: #aa3333;
	border-color: #cc4444;
}

.admin-btn-unblock {
	background-color: #3a8a3a;
	border-color: #4aaa4a;
}

.admin-btn-transfer {
	background-color: #3a5a8a;
	border-color: #4a6aaa;
}

/* Карточка вещи в списке */
.admin-item-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px;
	background-color: #2a2a2a;
	border-radius: 4px;
	cursor: pointer;
}

.admin-item-row:hover {
	background-color: #353535;
}

.admin-item-icon {
	width: 40px;
	height: 40px;
	border-radius: 4px;
	object-fit: cover;
}

.admin-item-info {
	flex: 1;
}

.admin-item-name {
	font-size: 13px;
	font-weight: bold;
	color: #ffffff;
}

.admin-item-meta {
	font-size: 10px;
	color: #aaaaaa;
}

/* Пагинация */
.admin-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	justify-content: center;
	padding: 8px 0;
}

.admin-page-btn {
	min-width: 28px;
	padding: 4px 6px;
	background-color: #2a2a2a;
	color: #e0e0e0;
	border: 1px solid #444444;
	border-radius: 4px;
	font-size: 11px;
	cursor: pointer;
}

.admin-page-btn.active {
	background-color: #4a6a4a;
	border-color: #5a8a5a;
}

/* Форма редактирования */
.admin-form-header {
	display: flex;
	align-items: center;
	gap: 8px;
}

.admin-form-header h3 {
	margin: 0;
	font-size: 14px;
	flex: 1;
}

.admin-btn-back {
	padding: 4px 10px;
	background-color: #555555;
	color: #ffffff;
	border: 1px solid #666666;
	border-radius: 4px;
	font-size: 12px;
	cursor: pointer;
}

.admin-form fieldset {
	margin: 6px 0;
	padding: 8px;
	border: 1px solid #333333;
	border-radius: 4px;
}

.admin-form legend {
	padding: 0 6px;
	font-size: 11px;
	color: #aaaaaa;
}

.admin-form label {
	display: block;
	margin: 4px 0;
	font-size: 11px;
	color: #cccccc;
}

.admin-form input[type="text"],
.admin-form input[type="number"],
.admin-form input[type="color"],
.admin-form select {
	display: block;
	width: 100%;
	padding: 4px 6px;
	margin-top: 2px;
	background-color: #2a2a2a;
	color: #e0e0e0;
	border: 1px solid #444444;
	border-radius: 4px;
	font-size: 12px;
	box-sizing: border-box;
}

.admin-form input[type="checkbox"] {
	margin-right: 6px;
	vertical-align: middle;
}

.admin-form input[type="color"] {
	height: 28px;
	padding: 2px;
}

.admin-req-item {
	display: flex;
	gap: 6px;
	margin: 4px 0;
}

.admin-req-item label {
	flex: 1;
}

.admin-image-preview {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 200px;
	margin: 0 auto 8px;
	background-color: #2a2a2a;
	border: 1px dashed #444444;
	border-radius: 4px;
}

.admin-image-preview img {
	max-width: 100%;
	max-height: 100%;
}

.admin-image-preview span {
	color: #666666;
	font-size: 12px;
}

.admin-btn-upload {
	display: block;
	width: 100%;
	padding: 6px;
	margin-top: 4px;
	background-color: #3a5a8a;
	color: #ffffff;
	border: 1px solid #4a6aaa;
	border-radius: 4px;
	font-size: 12px;
	cursor: pointer;
}

.admin-btn-upload:disabled {
	background-color: #444444;
	border-color: #555555;
	cursor: not-allowed;
}

.admin-form-actions {
	display: flex;
	gap: 6px;
	margin-top: 12px;
}

.admin-btn-save {
	flex: 1;
	padding: 8px;
	background-color: #3a8a3a;
	color: #ffffff;
	border: 1px solid #4aaa4a;
	border-radius: 4px;
	font-size: 13px;
	cursor: pointer;
}

.admin-btn-delete {
	padding: 8px 14px;
	background-color: #aa3333;
	color: #ffffff;
	border: 1px solid #cc4444;
	border-radius: 4px;
	font-size: 13px;
	cursor: pointer;
}

/* Диалог передачи */
#admin-transfer-dialog {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 1000;
	align-items: center;
	justify-content: center;
}

.admin-transfer-content {
	width: 90%;
	max-width: 320px;
	padding: 16px;
	background-color: #1a1a1a;
	border: 1px solid #444444;
	border-radius: 6px;
}

.admin-transfer-content h3 {
	margin: 0 0 10px;
	font-size: 13px;
	color: #ffffff;
}

.admin-transfer-content label {
	display: block;
	margin: 6px 0;
	font-size: 11px;
	color: #cccccc;
}

.admin-transfer-content select,
.admin-transfer-content input {
	display: block;
	width: 100%;
	padding: 4px 6px;
	margin-top: 2px;
	background-color: #2a2a2a;
	color: #e0e0e0;
	border: 1px solid #444444;
	border-radius: 4px;
	font-size: 12px;
	box-sizing: border-box;
}

.admin-transfer-actions {
	display: flex;
	gap: 6px;
	margin-top: 12px;
}

.admin-transfer-actions button {
	flex: 1;
	padding: 6px;
	border-radius: 4px;
	font-size: 12px;
	cursor: pointer;
	color: #ffffff;
	border: 1px solid;
}

.admin-btn-confirm {
	background-color: #3a8a3a;
	border-color: #4aaa4a;
}

.admin-btn-cancel {
	background-color: #555555;
	border-color: #666666;
}

/* ============================================================================
   Админка раздела "Контент" (Новости / Энциклопедия / Об игре)
   ============================================================================ */

.admin-content-tabs {
	display: flex;
	gap: 4px;
	padding-bottom: 6px;
	border-bottom: 1px solid #333333;
}

.admin-content-tab {
	flex: 1;
	padding: 5px 6px;
	background-color: #2a2a2a;
	color: #cccccc;
	border: 1px solid #444444;
	border-radius: 4px;
	font-size: 11px;
	cursor: pointer;
}

.admin-content-tab.active {
	background-color: #4a6a4a;
	color: #ffffff;
	border-color: #5a8a5a;
}

.admin-content-row {
	padding: 8px;
	background-color: #2a2a2a;
	border-radius: 4px;
	cursor: pointer;
}

.admin-content-row:hover {
	background-color: #353535;
}

.admin-content-info {
	min-width: 0;
}

.admin-content-name {
	font-size: 13px;
	font-weight: bold;
	color: #ffffff;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.admin-content-meta {
	font-size: 10px;
	color: #aaaaaa;
	margin-top: 2px;
}

.admin-content-preview {
	font-size: 11px;
	color: #888888;
	margin-top: 4px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.admin-form textarea {
	display: block;
	width: 100%;
	padding: 6px;
	margin-top: 2px;
	background-color: #2a2a2a;
	color: #e0e0e0;
	border: 1px solid #444444;
	border-radius: 4px;
	font-size: 12px;
	font-family: inherit;
	box-sizing: border-box;
	resize: vertical;
	min-height: 80px;
}