/* === ОСНОВНЫЕ СТИЛИ (BODY) === */
body {
    background-color: #121212;
    color: #e0e0e0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 20px;
    display: flex;
    justify-content: center;
    min-height: 100vh;
    box-sizing: border-box;
}

/* === КОНТЕЙНЕРЫ === */
/* Базовый контейнер (для логина по умолчанию) */
.container {
    background-color: #1e1e1e;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    width: 100%;
    max-width: 400px; /* Для логина */
    border: 1px solid #333;
    margin: auto; /* Центрирование */
}

/* Контейнер для Дашборда (пошире) */
.container-dashboard {
    max-width: 600px;
}

/* Контейнер для Админки (на весь экран) */
.container-admin {
    max-width: 1800px;
    width: 98%;
}

/* === ЭЛЕМЕНТЫ ФОРМ === */
h2 { color: #fff; margin-bottom: 20px; text-align: center; }
h3, h4 { color: #eee; margin-bottom: 10px; }

input, select {
    width: 100%;
    padding: 12px;
    margin: 8px 0;
    background: #2c2c2c;
    border: 1px solid #444;
    color: white;
    border-radius: 4px;
    box-sizing: border-box;
    outline: none;
}

input:focus, select:focus { border-color: #007bff; }

button {
    width: 100%;
    padding: 12px;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    margin-top: 10px;
    transition: 0.3s;
}

button:hover { background: #0056b3; }
button:disabled { background: #444; cursor: not-allowed; }

/* === СООБЩЕНИЯ === */
.message { padding: 10px; margin-bottom: 15px; border-radius: 4px; text-align: center; font-size: 14px; }
.error { background: rgba(220, 53, 69, 0.2); color: #dc3545; border: 1px solid #dc3545; }
.success { background: rgba(40, 167, 69, 0.2); color: #28a745; border: 1px solid #28a745; }

/* === СТИЛИ ДАШБОРДА (ОПЛАТА) === */
.info-box { 
    background: #252525; padding: 15px; border-radius: 5px; 
    margin-bottom: 10px; display: flex; justify-content: space-between; 
    border: 1px solid #333; align-items: center;
}
.label { color: #888; font-size: 13px; }
.val { color: #fff; font-weight: bold; }

.pay-box { 
    background: rgba(0, 123, 255, 0.05); border: 1px solid #007bff; 
    padding: 20px; border-radius: 8px; margin-bottom: 20px; text-align: center; 
}
.pay-addr { 
    background: #000; padding: 10px; font-family: monospace; 
    color: #fff; word-break: break-all; border-radius: 4px; 
    margin: 10px 0; font-size: 13px; border: 1px solid #333; 
}
.qr-container { margin: 15px 0; display: flex; justify-content: center; }
.qr-img { width: 150px; height: 150px; border: 3px solid white; border-radius: 4px; }
.pending-box { 
    background: rgba(255, 193, 7, 0.1); border: 1px solid #ffc107; 
    padding: 15px; text-align: center; margin-bottom: 20px; 
    border-radius: 8px; color: #ffc107; font-weight: bold; 
}

/* === СТИЛИ АДМИНКИ === */
.panel { background: #1e1e1e; padding: 15px; border-radius: 6px; border: 1px solid #333; margin-bottom: 20px; }

/* Статистика (Карточки сверху) */
.stats-bar { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.stat-card { 
    flex: 1; min-width: 120px; background: #252525; padding: 15px; 
    border-radius: 4px; border-top: 3px solid #555; text-align: center; 
    box-shadow: 0 2px 5px rgba(0,0,0,0.3); 
}
.stat-number { font-size: 24px; font-weight: bold; color: #fff; display: block; }
.stat-label { color: #888; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; }

/* Фильтры и Поиск */
.sticky-controls { position: sticky; top: 0; background: #121212; z-index: 100; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid #333; }
.filter-bar { display: flex; gap: 5px; margin-bottom: 10px; flex-wrap: wrap; }
.filter-btn { 
    padding: 8px 15px; background: #252525; color: #aaa; 
    text-decoration: none; border-radius: 4px; font-weight: bold; 
    border: 1px solid #333; transition: 0.2s; font-size: 12px;
}
.filter-btn:hover { background: #333; color: white; }
.filter-btn.active { background: #007bff; color: white; border-color: #007bff; }

/* Таблица */
.table-container { overflow-x: auto; border: 1px solid #333; border-radius: 6px; }
.admin-table { width: 100%; border-collapse: collapse; background: #1e1e1e; font-size: 13px; }
.admin-table th { 
    position: sticky; top: 0; background: #2a2a2a; z-index: 10; 
    padding: 12px 10px; text-align: left; color: #ccc; 
    border-bottom: 2px solid #444; font-weight: 600; 
}
.admin-table td { padding: 8px 10px; border-bottom: 1px solid #333; vertical-align: middle; color: #ccc; }
.admin-table tr:hover { background: #252525; }

/* Кнопки действий (маленькие) */
.btn-icon { 
    padding: 4px 8px; font-size: 11px; text-decoration: none; 
    border-radius: 3px; display: inline-block; margin-right: 3px; 
    color: white; text-align: center; min-width: 24px; 
}

/* Цвета кнопок и бейджей */
.bg-red { background: #dc3545; }
.bg-green { background: #28a745; }
.bg-blue { background: #007bff; }
.bg-orange { background: #fd7e14; }
.bg-dark { background: #444; }
.bg-gold { background: #ffd700; color: #000; }

.badge { padding: 3px 6px; border-radius: 3px; font-size: 10px; font-weight: bold; }
.badge-success { background: rgba(40, 167, 69, 0.2); color: #28a745; border: 1px solid #28a745; }
.badge-warning { background: rgba(255, 193, 7, 0.1); color: #ffc107; border: 1px solid #ffc107; }
.badge-danger { background: rgba(220, 53, 69, 0.2); color: #dc3545; border: 1px solid #dc3545; }
.vip-tag { background: gold; color: black; padding: 2px 5px; border-radius: 3px; font-size: 10px; font-weight: bold; margin-left: 5px; }

/* Пагинация */
.pagination { display: flex; justify-content: center; gap: 5px; margin-top: 20px; flex-wrap: wrap; }
.page-link { 
    padding: 8px 12px; background: #252525; color: #fff; 
    text-decoration: none; border: 1px solid #333; border-radius: 4px; 
}
.page-link:hover { background: #333; }
.page-link.active { background: #007bff; border-color: #007bff; pointer-events: none; }

/* Футер и ссылки */
.footer-contact { margin-top: 30px; padding-top: 15px; border-top: 1px solid #333; text-align: center; font-size: 12px; color: #888; }
.footer-contact a { color: #007bff; text-decoration: none; font-weight: bold; }
.tg-btn { background: #0088cc; color: white; padding: 5px 10px; border-radius: 4px; text-decoration: none; font-size: 12px; font-weight: bold; display: inline-block; }
.tg-linked { color: #00c851; font-size: 12px; font-weight: bold; }
/* === FORUM STYLES === */
.forum-container { max-width: 1000px; margin: 0 auto; width: 98%; }

/* Список тем */
.forum-list { width: 100%; border-collapse: collapse; background: #1e1e1e; border: 1px solid #333; margin-top: 15px; }
.forum-list th { background: #2a2a2a; color: #aaa; text-align: left; padding: 12px; font-size: 12px; text-transform: uppercase; }
.forum-list td { padding: 15px; border-bottom: 1px solid #333; vertical-align: middle; }
.forum-list tr:hover { background: #252525; }

.topic-title { font-size: 16px; font-weight: bold; color: #007bff; text-decoration: none; display: block; margin-bottom: 4px; }
.topic-title:hover { text-decoration: underline; }
.topic-meta { font-size: 11px; color: #777; }

/* Просмотр темы */
.post-card { display: flex; background: #1e1e1e; border: 1px solid #333; margin-bottom: 15px; border-radius: 4px; overflow: hidden; }
.post-sidebar { width: 180px; background: #181818; padding: 20px; text-align: center; border-right: 1px solid #333; flex-shrink: 0; }
.post-avatar { width: 60px; height: 60px; background: #333; border-radius: 50%; margin: 0 auto 10px; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #777; font-weight: bold; }
.post-content { padding: 20px; flex-grow: 1; color: #ddd; line-height: 1.6; font-size: 14px; position: relative; }
.post-date { position: absolute; top: 10px; right: 15px; font-size: 11px; color: #555; }

.forum-btn { padding: 10px 20px; background: #007bff; color: white; text-decoration: none; border-radius: 4px; font-weight: bold; font-size: 13px; display: inline-block; border: none; cursor: pointer; }
.forum-btn:hover { background: #0056b3; }

.reply-box { margin-top: 30px; background: #1e1e1e; padding: 20px; border: 1px solid #333; border-radius: 4px; }
textarea.forum-input { width: 100%; height: 100px; background: #121212; border: 1px solid #444; color: white; padding: 10px; border-radius: 4px; resize: vertical; }