/* Стили для выделения ошибок в логах расчётов */

.log-container {
    font-family: 'Courier New', monospace;
    background-color: #1e1e1e;
    color: #d4d4d4;
    padding: 15px;
    border-radius: 8px;
    overflow-x: auto;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/* Обычный текст лога */
.log-line {
    margin: 2px 0;
    line-height: 1.4;
}

/* Ошибки solver'а */
.log-error-solver {
    background-color: transparent; /* убираем массивную заливку */
    border-left: 4px solid #ff4444;
    color: #ff6b6b;
    padding: 4px 8px;
    margin: 4px 0;
    border-radius: 2px;
    font-weight: 600;
}

/* Критические ошибки solver'а */
.log-error-solver-critical {
    background-color: #2b0000; /* мягкая подложка только для критичных */
    border: 2px solid #ff0000;
    color: #ffb3b3;
    padding: 8px 12px;
    margin: 8px 0;
    border-radius: 4px;
    font-weight: 700;
    box-shadow: none;
    animation: none;
}

@keyframes criticalPulse {
    0%, 100% { box-shadow: 0 0 10px rgba(255, 0, 0, 0.3); }
    50% { box-shadow: 0 0 20px rgba(255, 0, 0, 0.6); }
}

/* Ошибки перемещения файлов */
.log-error-file-move {
    background-color: transparent;
    border-left: 4px solid #ff8844;
    color: #ffaa66;
    padding: 4px 8px;
    margin: 4px 0;
    border-radius: 2px;
    font-weight: 600;
}

/* Ошибки отсутствующих файлов результатов */
.log-error-missing-rst {
    background-color: transparent;
    border-left: 4px solid #ff44aa;
    color: #ff88cc;
    padding: 4px 8px;
    margin: 4px 0;
    border-radius: 2px;
    font-weight: 600;
}

/* Ошибки генерации CSV */
.log-error-csv-generation {
    background-color: transparent;
    border-left: 4px solid #8844ff;
    color: #aa88ff;
    padding: 4px 8px;
    margin: 4px 0;
    border-radius: 2px;
    font-weight: 600;
}

/* Ошибки Django/веб-сервера */
.log-error-django {
    background-color: transparent;
    border-left: 4px solid #ffaa44;
    color: #ffcc66;
    padding: 4px 8px;
    margin: 4px 0;
    border-radius: 2px;
    font-weight: 600;
}

/* Сетевые ошибки */
.log-error-network {
    background-color: transparent;
    border-left: 4px solid #aa44ff;
    color: #cc66ff;
    padding: 4px 8px;
    margin: 4px 0;
    border-radius: 2px;
    font-weight: 600;
}

/* Предупреждения */
.log-warning {
    background-color: #4a4a1a;
    border-left: 4px solid #ffff44;
    color: #ffff88;
    padding: 6px 10px;
    margin: 4px 0;
    border-radius: 4px;
}

/* Успешные операции */
.log-success {
    background-color: #1a4a1a;
    border-left: 4px solid #44ff44;
    color: #88ff88;
    padding: 6px 10px;
    margin: 4px 0;
    border-radius: 4px;
}

/* Информационные сообщения */
.log-info {
    color: #87ceeb;
}

/* Отладочные сообщения */
.log-debug {
    color: #999999;
    font-size: 0.9em;
}

/* Заголовки ошибок */
.log-error-header {
    background-color: #660000;
    color: #ffffff;
    padding: 10px 15px;
    margin: 10px 0 5px 0;
    border-radius: 6px;
    font-weight: bold;
    text-align: center;
    border: 2px solid #ff4444;
}

/* Разделители */
.log-separator {
    color: #666666;
    margin: 5px 0;
}

/* Анимация для новых ошибок */
@keyframes errorFlash {
    0% { background-color: #ff4444; }
    50% { background-color: #4a1a1a; }
    100% { background-color: #4a1a1a; }
}

.log-error-new {
    animation: errorFlash 2s ease-in-out;
}

/* Скроллбар для тёмной темы */
.log-container::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.log-container::-webkit-scrollbar-track {
    background: #2d2d2d;
    border-radius: 4px;
}

.log-container::-webkit-scrollbar-thumb {
    background: #555555;
    border-radius: 4px;
}

.log-container::-webkit-scrollbar-thumb:hover {
    background: #777777;
}


