/**
 * ENERGETIK.UZ — единая тема (переопределение Bootstrap-цветов)
 * Жёлтый hazard + тёмный slate + electric blue
 */

/* --- Текст --- */
.text-primary,
h1.text-primary, h2.text-primary, h3.text-primary,
h4.text-primary, h5.text-primary, .fw-bold.text-primary {
  color: var(--hz-slate, #1e293b) !important;
}

.text-primary i.bi { color: var(--hz-blue, #0c4a6e) !important; }

a.text-primary,
.text-decoration-none.text-primary,
a.fw-semibold.text-primary {
  color: var(--hz-blue, #0c4a6e) !important;
}
a.text-primary:hover,
.text-decoration-none.text-primary:hover {
  color: var(--hz-yellow-dark, #e6bc00) !important;
}

.text-warning,
.text-warning i {
  color: #b45309 !important;
}

.text-info { color: var(--hz-blue, #0c4a6e) !important; }

.text-success {
  color: #15803d !important;
}

.text-secondary { color: var(--hz-muted, #64748b) !important; }

/* --- Кнопки: все «главные» — жёлтые --- */
.btn-success,
.btn-success:hover,
.btn-success:focus {
  background: var(--hz-yellow, #ffd100) !important;
  color: var(--hz-black, #0f1419) !important;
  border-color: var(--hz-yellow-dark, #e6bc00) !important;
}

.btn-info,
.btn-info:hover {
  background: var(--hz-slate, #1e293b) !important;
  color: #fff !important;
  border-color: var(--hz-black, #0f1419) !important;
}

.btn-outline-success {
  color: var(--hz-slate, #1e293b) !important;
  border-color: var(--hz-yellow-dark, #e6bc00) !important;
}
.btn-outline-success:hover {
  background: var(--hz-yellow, #ffd100) !important;
  color: var(--hz-black, #0f1419) !important;
}

.btn-outline-info {
  color: var(--hz-blue, #0c4a6e) !important;
  border-color: var(--hz-blue, #0c4a6e) !important;
}

/* --- Фоны и шапки карточек --- */
.bg-primary {
  background: var(--hz-slate, #1e293b) !important;
  color: #fff !important;
}

.card-header.bg-primary {
  background: var(--hz-slate, #1e293b) !important;
  color: var(--hz-yellow, #ffd100) !important;
  border-bottom: 3px solid var(--hz-yellow, #ffd100);
}

.card-header.bg-warning {
  background: var(--hz-yellow, #ffd100) !important;
  color: var(--hz-black, #0f1419) !important;
}

.card-header.bg-danger {
  background: #dc2626 !important;
  color: #fff !important;
}

.bg-primary.text-white,
.bg-primary .text-white {
  color: #fff !important;
}

/* Бейджи */
.badge.bg-primary {
  background: var(--hz-slate, #1e293b) !important;
  color: var(--hz-yellow, #ffd100) !important;
}

.badge.bg-success {
  background: #15803d !important;
  color: #fff !important;
}

.badge.bg-info {
  background: var(--hz-blue, #0c4a6e) !important;
  color: #fff !important;
}

.badge.bg-warning {
  background: var(--hz-yellow, #ffd100) !important;
  color: var(--hz-black, #0f1419) !important;
}

.badge.bg-secondary {
  background: #94a3b8 !important;
}

/* --- Алерты --- */
.alert-success {
  background: #f0fdf4;
  border-left-color: #16a34a;
  color: #166534;
}

.alert-warning {
  background: #fffbeb;
  border-left-color: var(--hz-yellow, #ffd100);
  color: #92400e;
}

.alert-danger {
  background: #fef2f2;
  border-left-color: #dc2626;
  color: #991b1b;
}

.alert-info {
  background: #f0f9ff;
  border-left-color: var(--hz-blue, #0c4a6e);
  color: var(--hz-blue, #0c4a6e);
}

/* --- Соглашение и юридический текст --- */
.agreement-text,
.legal-text {
  color: var(--hz-slate, #1e293b);
  line-height: 1.75;
}

.agreement-text p,
.legal-text p {
  margin-bottom: 1rem;
  text-align: justify;
}

.agreement-text b,
.agreement-text strong,
.legal-text b {
  color: var(--hz-black, #0f1419);
}

.agreement-text a,
.legal-text a {
  color: var(--hz-blue, #0c4a6e) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.agreement-text a:hover,
.legal-text a:hover {
  color: var(--hz-yellow-dark, #e6bc00) !important;
}

/* --- Экзамен --- */
.exam-card .display-4,
.exam-card .bi-mortarboard {
  color: var(--hz-blue, #0c4a6e) !important;
}

.exam-card h4 {
  color: var(--hz-slate, #1e293b);
}

/* --- Чат / диалоги (светлая тема) --- */
.chat-bubble-mine,
.bg-primary.text-white.rounded,
.dialogs .bg-primary {
  background: linear-gradient(145deg, #fffbeb 0%, #fef3c7 55%, #fde68a 100%) !important;
  color: var(--hz-black, #0f1419) !important;
  border: 1px solid rgba(255, 209, 0, 0.5) !important;
  border-left: 3px solid var(--hz-yellow, #ffd100) !important;
}

/* --- Прогресс, акценты --- */
.progress-bar,
.bg-primary.progress-bar {
  background: linear-gradient(90deg, var(--hz-yellow-dark), var(--hz-yellow)) !important;
}

/* --- Модалки --- */
.modal-title.text-primary,
.modal-title.fw-bold.text-primary {
  color: var(--hz-slate, #1e293b) !important;
}

/* --- Списки админки: иконки --- */
.list-group-item .text-primary { color: var(--hz-blue, #0c4a6e) !important; }
.list-group-item .text-success { color: #15803d !important; }
.list-group-item .text-warning { color: #b45309 !important; }
.list-group-item .text-info { color: var(--hz-blue, #0c4a6e) !important; }
.list-group-item .text-danger { color: #dc2626 !important; }

/* --- Фокус форм --- */
input.form-control:focus,
textarea.form-control:focus,
select.form-select:focus {
  border-color: var(--hz-yellow, #ffd100) !important;
  box-shadow: 0 0 0 3px rgba(255, 209, 0, 0.35) !important;
}

/* --- Статус онлайн (точка) --- */
.status-dot.bg-success,
.bg-success.border.rounded-circle {
  background-color: var(--hz-yellow, #ffd100) !important;
  border-color: var(--hz-slate, #1e293b) !important;
}

/* --- Чат (общие селекторы во всех модулях) --- */
.chat-message-row.self .chat-bubble,
.chat-message.self .chat-bubble {
  background: linear-gradient(145deg, #fffbeb 0%, #fef3c7 55%, #fde68a 100%) !important;
  color: var(--hz-black, #0f1419) !important;
  border: 1px solid rgba(255, 209, 0, 0.45) !important;
  border-left: 3px solid var(--hz-yellow, #ffd100) !important;
}

.chat-message-row.other .chat-bubble,
.chat-message.other .chat-bubble {
  background: #ffffff !important;
  color: var(--hz-slate, #1e293b) !important;
}

.refresh-btn {
  background: var(--hz-yellow, #ffd100) !important;
  color: var(--hz-black, #0f1419) !important;
  border: 2px solid var(--hz-yellow-dark, #e6bc00);
}

.refresh-btn:hover {
  background: var(--hz-yellow-dark, #e6bc00) !important;
  color: var(--hz-black, #0f1419) !important;
}

.chat-form textarea:focus {
  border-color: var(--hz-yellow, #ffd100) !important;
  box-shadow: 0 0 0 3px rgba(255, 209, 0, 0.35) !important;
}

.antiflood-box {
  border-left-color: var(--hz-yellow, #ffd100) !important;
  background: linear-gradient(to right, #fffbeb, #fffdf8) !important;
}

/* --- Бонусная карточка --- */
.bonus-card {
  background: linear-gradient(135deg, var(--hz-slate, #1e293b), var(--hz-blue, #0c4a6e)) !important;
  color: #fff !important;
}

.bonus-icon,
.bonus-amount {
  color: var(--hz-yellow, #ffd100) !important;
}

.bonus-amount span {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* --- Пагинация --- */
.pagination .page-item.active .page-link {
  background-color: var(--hz-slate, #1e293b) !important;
  border-color: var(--hz-yellow-dark, #e6bc00) !important;
  color: var(--hz-yellow, #ffd100) !important;
}

.pagination .page-link:hover {
  color: var(--hz-blue, #0c4a6e);
  border-color: var(--hz-yellow-dark, #e6bc00);
}

/* --- Заголовки страниц (иконка — жёлтая, текст — slate) --- */
.page-tt .text-warning,
.page-tt i.bi.text-warning {
  color: var(--hz-yellow-dark, #e6bc00) !important;
}
