.runlog-container {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    margin: 12px 16px;
    background: #fff;
    overflow: hidden;

    .runlog-header {
        padding: 10px 14px;
        background: #455a64;
        color: #fff;
        font-size: 14px;
        font-weight: 500;
    }

    .runlog-table-wrap {
        overflow-x: auto;
    }

    .runlog-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 13px;

        th {
            padding: 8px 12px;
            text-align: left;
            background: #eceff1;
            color: #455a64;
            font-weight: 600;
            border-bottom: 2px solid #cfd8dc;
            white-space: nowrap;
        }

        .run-row {
            cursor: pointer;
            transition: background 0.15s;

            &:hover { background: #f5f5f5; }
            &.has-error td { border-left: 3px solid #ef5350; }

            td {
                padding: 8px 12px;
                border-bottom: 1px solid #e0e0e0;
                vertical-align: middle;
                color: #333;
            }

            .expand-col {
                color: #90a4ae;
                width: 20px;
                text-align: center;
                user-select: none;
            }
        }

        .detail-row td {
            padding: 0;
            background: #fafafa;
            border-bottom: 1px solid #cfd8dc;
        }

        .detail-panel {
            padding: 10px 16px 10px 36px;

            .detail-counts {
                display: flex;
                gap: 20px;
                font-size: 12px;
                color: #555;
                margin-bottom: 6px;

                strong { color: #333; }
            }

            .error-detail {
                font-size: 12px;
                color: #b71c1c;
                background: #ffebee;
                padding: 6px 10px;
                border-radius: 4px;
            }
        }

        .no-data {
            padding: 20px;
            text-align: center;
            color: #aaa;
            font-size: 13px;
        }
    }

    .status-badge {
        display: inline-block;
        padding: 2px 8px;
        border-radius: 10px;
        font-size: 11px;
        font-weight: 600;

        &.success { background: #e8f5e9; color: #2e7d32; }
        &.failed  { background: #ffebee; color: #c62828; }
        &.partial { background: #fff8e1; color: #f57f17; }
        &.running { background: #e3f2fd; color: #1565c0; }
    }

    .load-more {
        padding: 10px;
        text-align: center;

        button {
            padding: 6px 20px;
            border: 1px solid #bdbdbd;
            border-radius: 4px;
            background: #fff;
            cursor: pointer;
            font-size: 13px;
            color: #455a64;

            &:hover { background: #f5f5f5; }
        }
    }

    .loading-row {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 14px;
        font-size: 13px;
        color: #777;
    }

    .spinner {
        display: inline-block;
        width: 14px;
        height: 14px;
        border: 2px solid rgba(0,0,0,0.15);
        border-top-color: #455a64;
        border-radius: 50%;
        animation: spin 0.8s linear infinite;
    }

    @keyframes spin { to { transform: rotate(360deg); } }
}
