/* Базовые стили */
body {
    background-color: #0B1120;
    color: #F8FAFC;
    font-family: 'Inter', sans-serif;
    margin: 0;
    padding: 0;
}

/* Переопределение Bootstrap-классов в едином стиле */
.table,
.table th,
.table td {
    background-color: transparent !important;
    color: inherit !important;
    border-color: rgba(255,255,255,0.1) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgba(255,255,255,0.02) !important;
}

.table-hover > tbody > tr:hover {
    background-color: rgba(37,99,235,0.1) !important;
}

.table thead th {
    background: transparent !important;
    color: #94A3B8 !important;
    border-bottom: 2px solid #2563EB !important;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
}

/* Цветовая индикация строк (для таблицы сигналов) */
.table-success {
    background-color: rgba(16,185,129,0.2) !important;
}
.table-danger {
    background-color: rgba(239,68,68,0.2) !important;
}
.table-success-light {
    background-color: rgba(16,185,129,0.1) !important;
}
.table-danger-light {
    background-color: rgba(239,68,68,0.1) !important;
}

/* Бейджи – теперь все, включая стандартные Bootstrap, выглядят как наши */
.badge {
    padding: 0.25rem 0.75rem !important;
    border-radius: 50px !important;
    font-weight: 500 !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    background: transparent !important;
}
.badge.bg-success, .badge-success {
    background: rgba(16,185,129,0.2) !important;
    color: #10b981 !important;
    border-color: rgba(16,185,129,0.3) !important;
}
.badge.bg-danger, .badge-danger {
    background: rgba(239,68,68,0.2) !important;
    color: #ef4444 !important;
    border-color: rgba(239,68,68,0.3) !important;
}
.badge.bg-warning, .badge-warning {
    background: rgba(245,158,11,0.2) !important;
    color: #f59e0b !important;
    border-color: rgba(245,158,11,0.3) !important;
}
.badge.bg-info, .badge-info {
    background: rgba(59,130,246,0.2) !important;
    color: #3b82f6 !important;
    border-color: rgba(59,130,246,0.3) !important;
}

/* Цвета текста */
.text-success {
    color: #10b981 !important;
}
.text-danger {
    color: #ef4444 !important;
}
.text-warning {
    color: #f59e0b !important;
}
.text-primary {
    color: #2563EB !important;
}
.text-secondary {
    color: #94A3B8 !important;
}

/* Ссылки */
a {
    color: #2563EB;
    text-decoration: none;
    transition: color 0.2s;
}
a:hover {
    color: #3B82F6;
}

/* Иконки Bootstrap Icons */
.bi {
    font-size: 1.1rem;
}
.bi-trash {
    color: #ef4444 !important;
}
.bi-trash:hover {
    color: #ff6b6b !important;
}
.bi-graph-up, .bi-currency-bitcoin, .bi-lightning-charge {
    color: #2563EB !important;
}
.bi-graph-up:hover, .bi-currency-bitcoin:hover, .bi-lightning-charge:hover {
    color: #3B82F6 !important;
}

/* Кнопки – стандартные Bootstrap-классы */
.btn {
    border-radius: 50px !important;
    padding: 0.6rem 1.8rem !important;
    font-weight: 600 !important;
    transition: all 0.3s !important;
    border: none !important;
}
.btn-primary, .btn-success, .btn-danger, .btn-warning, .btn-info {
    background: linear-gradient(135deg, #2563EB, #0EA5E9) !important;
    color: white !important;
    box-shadow: 0 10px 15px -3px #2563EB66 !important;
}
.btn-primary:hover, .btn-success:hover, .btn-danger:hover, .btn-warning:hover, .btn-info:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 20px 25px -5px #2563EB !important;
}
.btn-outline-primary, .btn-outline-secondary, .btn-outline-success, .btn-outline-danger, .btn-outline-warning, .btn-outline-info {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    color: #F8FAFC !important;
}
.btn-outline-primary:hover, .btn-outline-secondary:hover, .btn-outline-success:hover, .btn-outline-danger:hover, .btn-outline-warning:hover, .btn-outline-info:hover {
    border-color: #2563EB !important;
    color: #2563EB !important;
}

/* Кастомные кнопки (градиентные и outline) – добавляем в глобальный CSS */
.btn-gradient {
    background: linear-gradient(135deg, #2563EB, #0EA5E9) !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 0.6rem 1.8rem !important;
    font-weight: 600 !important;
    color: white !important;
    transition: all 0.3s !important;
    box-shadow: 0 10px 15px -3px #2563EB66 !important;
}

.btn-gradient:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 20px 25px -5px #2563EB !important;
}

.btn-outline {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 50px !important;
    padding: 0.6rem 1.8rem !important;
    font-weight: 600 !important;
    color: #F8FAFC !important;
    transition: all 0.3s !important;
}

.btn-outline:hover {
    border-color: #2563EB !important;
    color: #2563EB !important;
}

/* Маленькие кнопки */
.btn-gradient.btn-sm, .btn-outline.btn-sm {
    padding: 0.3rem 1rem !important;
    font-size: 0.875rem !important;
}

/* Модальные окна */
.modal-content {
    background-color: #1E293B;
    color: #F8FAFC;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 32px;
    backdrop-filter: blur(12px);
}
.modal-header {
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.modal-footer {
    border-top: 1px solid rgba(255,255,255,0.1);
}
.btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Формы */
.form-control, .form-select {
    background-color: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 20px;
    color: #F8FAFC;
    padding: 0.5rem 1rem;
}
.form-control:focus, .form-select:focus {
    background-color: rgba(255,255,255,0.1);
    border-color: #2563EB;
    box-shadow: 0 0 0 0.2rem rgba(37,99,235,0.25);
    color: #F8FAFC;
}
.form-control::placeholder {
    color: #94A3B8;
    opacity: 1;
}
.form-check-input {
    background-color: rgba(255,255,255,0.05);
    border-color: rgba(255,255,255,0.1);
}
.form-check-input:checked {
    background-color: #2563EB;
    border-color: #2563EB;
}

/* Навигационные вкладки */
.nav-tabs {
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.nav-tabs .nav-link {
    color: #94A3B8;
    border: none;
    border-radius: 0;
    padding: 0.75rem 1.5rem;
    font-weight: 500;
    background: transparent;
}
.nav-tabs .nav-link:hover {
    color: #F8FAFC;
    border-color: transparent;
}
.nav-tabs .nav-link.active {
    color: #2563EB;
    background: transparent;
    border-bottom: 2px solid #2563EB;
}

/* Контейнер графика */
#chartContainer {
    margin-top: 20px;
}

/* Чекбоксы источников */
#sourceCheckboxes {
    background-color: rgba(255,255,255,0.05);
    border-radius: 20px;
    padding: 10px;
}

/* Анимация для новых сигналов */
@keyframes highlight {
    0% { background-color: rgba(37,99,235,0.3); }
    100% { background-color: transparent; }
}
.new-signal {
    animation: highlight 2s;
}