/* ═══════════════════════════════════════════════════════════════════
   Inline-прогресс для парсеров
   Вставляется рядом с кнопкой "Начать" (заменяется на "Остановить").

   Fallback'и var(--…, …) выверены по РЕАЛЬНЫМ токенам из style.css. Раньше они
   расходились (--primary → #2563eb при реальном #4a76a8 и т.п.): style.css грузится
   первым и обычно перебивает их, но если он не подгрузится, интерфейс молча
   отрисовывался бы в чужой палитре. Держать fallback = значению токена.
   ═══════════════════════════════════════════════════════════════════ */

.progress-inline {
    margin-top: 12px;
    padding: 12px 14px;
    background: var(--bg, #f0f2f5);
    border: 1px solid var(--border, #e4e6ea);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.progress-inline[hidden] {
    display: none !important;
}

.progress-inline-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
}

.progress-inline-label {
    color: var(--text-light, #888);
    font-weight: 500;
}

.progress-inline-percent {
    margin-left: auto;
    font-weight: 600;
    color: var(--primary, #4a76a8);
    font-variant-numeric: tabular-nums;
    min-width: 42px;
    text-align: right;
}

.progress-inline-track {
    height: 6px;
    background: var(--border, #e4e6ea);
    border-radius: 999px;
    overflow: hidden;
}

.progress-inline-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--primary, #4a76a8), #7c3aed);
    border-radius: 999px;
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.progress-inline-fill::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
            90deg,
            transparent 0%,
            rgba(255, 255, 255, 0.35) 50%,
            transparent 100%
    );
    animation: progress-inline-shimmer 1.6s linear infinite;
}

@keyframes progress-inline-shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

/* Красная кнопка "Остановить" — для согласованности с sources */
.btn-stop {
    background: #e74c3c !important;
    color: #fff !important;
}

.btn-stop:hover {
    background: #c0392b !important;
}